home *** CD-ROM | disk | FTP | other *** search
/ Univers Mac Interactif 53 / Univers Mac Interactif - Issue 53.iso / UNIVERS MAC 53 / Hypercard / La pile du mois nº53 ƒ / La pile du mois nº53 / La pile du mois n∫53 / cards.xml < prev    next >
Text File  |  1995-11-25  |  87KB  |  1,578 lines

  1. card_5380.xml
  2. <?xml version="1.0" encoding="utf-8" ?>
  3. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  4. <card>
  5.     <id>5380</id>
  6.     <filler1>0</filler1>
  7.     <bitmap>BMAP_5651.pbm</bitmap>
  8.     <cantDelete> <false /> </cantDelete>
  9.     <showPict> <true /> </showPict>
  10.     <dontSearch> <false /> </dontSearch>
  11.     <owner>2723</owner>
  12.     <marked><true /></marked>
  13.     <link rel="stylesheet" type="text/css" href="stylesheet_3174.css" />
  14.     <part>
  15.         <id>31</id>
  16.         <type>button</type>
  17.         <visible> <false /> </visible>
  18.         <reserved5> 0 </reserved5>
  19.         <reserved4> 0 </reserved4>
  20.         <reserved3> 0 </reserved3>
  21.         <reserved2> 0 </reserved2>
  22.         <reserved1> 0 </reserved1>
  23.         <enabled> <true /> </enabled>
  24.         <rect>
  25.             <left>141</left>
  26.             <top>107</top>
  27.             <right>277</right>
  28.             <bottom>129</bottom>
  29.         </rect>
  30.         <style>rectangle</style>
  31.         <showName> <true /> </showName>
  32.         <highlight> <false /> </highlight>
  33.         <autoHighlight> <true /> </autoHighlight>
  34.         <sharedHighlight> <true /> </sharedHighlight>
  35.         <family>0</family>
  36.         <titleWidth>0</titleWidth>
  37.         <icon>0</icon>
  38.         <textAlign>center</textAlign>
  39.         <font>Chicago</font>
  40.         <textSize>12</textSize>
  41.         <textStyle>plain</textStyle>
  42.         <name>>> Crunch >></name>
  43.         <script>on mouseUpput Crunch(cd fld id 29) into cd fld id 30if last char of cd fld id 30 = return then delete last char of cd fld id 30end mouseUp</script>
  44.     </part>
  45.     <part>
  46.         <id>3</id>
  47.         <type>button</type>
  48.         <visible> <true /> </visible>
  49.         <reserved5> 0 </reserved5>
  50.         <reserved4> 0 </reserved4>
  51.         <reserved3> 0 </reserved3>
  52.         <reserved2> 0 </reserved2>
  53.         <reserved1> 0 </reserved1>
  54.         <enabled> <true /> </enabled>
  55.         <rect>
  56.             <left>93</left>
  57.             <top>232</top>
  58.             <right>316</right>
  59.             <bottom>250</bottom>
  60.         </rect>
  61.         <style>transparent</style>
  62.         <showName> <true /> </showName>
  63.         <highlight> <false /> </highlight>
  64.         <autoHighlight> <true /> </autoHighlight>
  65.         <sharedHighlight> <true /> </sharedHighlight>
  66.         <family>0</family>
  67.         <titleWidth>0</titleWidth>
  68.         <icon>0</icon>
  69.         <textAlign>center</textAlign>
  70.         <font>Paris</font>
  71.         <textSize>12</textSize>
  72.         <textStyle>plain</textStyle>
  73.         <name>Installer dans une autre pile‚Ķ</name>
  74.         <script>on mouseUpset cursor to 4if visible of cd fld id 29 then hideDemo -- ‚àÜanswer file "Choisissez la pile de destination :" of type STAKif (it is empty) or (the result is "Cancel") then exit mouseUp -- ‚àÜset cursor to 4put it into stackNameget Resources(stackName)if "Crunch" is in it thenbeepanswer "Crunch est d√©j√† install√©e dans"&&stackNameelseget the value of word 2 of the long name of this stackCopyRes "XFCN","1037",it,stackName -- ‚àÜXcheckForError the result -- ‚àÜif stackName is in the stacks thenanswer "Installation r√©ussie."&return&"Fermez puis r√©ouvrez la"¬¨&&"pile pour rendre l'externe op√©rationnelle."else answer "Installation r√©ussie."end ifend mouseUp------------------------------------------------------------------------on checkForError theErrif theErr contains "Error:" thenanswer theErrexit to hyperCardend ifend checkForError</script>
  75.     </part>
  76.     <part>
  77.         <id>4</id>
  78.         <type>button</type>
  79.         <visible> <true /> </visible>
  80.         <reserved5> 0 </reserved5>
  81.         <reserved4> 0 </reserved4>
  82.         <reserved3> 0 </reserved3>
  83.         <reserved2> 0 </reserved2>
  84.         <reserved1> 0 </reserved1>
  85.         <enabled> <true /> </enabled>
  86.         <rect>
  87.             <left>325</left>
  88.             <top>232</top>
  89.             <right>379</right>
  90.             <bottom>250</bottom>
  91.         </rect>
  92.         <style>transparent</style>
  93.         <showName> <true /> </showName>
  94.         <highlight> <false /> </highlight>
  95.         <autoHighlight> <true /> </autoHighlight>
  96.         <sharedHighlight> <true /> </sharedHighlight>
  97.         <family>0</family>
  98.         <titleWidth>0</titleWidth>
  99.         <icon>0</icon>
  100.         <textAlign>center</textAlign>
  101.         <font>Paris</font>
  102.         <textSize>12</textSize>
  103.         <textStyle>plain</textStyle>
  104.         <name>Aide</name>
  105.         <script>on mouseUpif visible of cd fld id 29 then hideDemo -- ‚àÜelse lock screenshow cd fld "Help"unlock screen with visual zoom openend mouseUp</script>
  106.     </part>
  107.     <part>
  108.         <id>17</id>
  109.         <type>field</type>
  110.         <visible> <true /> </visible>
  111.         <dontWrap> <false /> </dontWrap>
  112.         <dontSearch> <false /> </dontSearch>
  113.         <sharedText> <false /> </sharedText>
  114.         <fixedLineHeight> <false /> </fixedLineHeight>
  115.         <autoTab> <false /> </autoTab>
  116.         <lockText> <true /> </lockText>
  117.         <rect>
  118.             <left>6</left>
  119.             <top>4</top>
  120.             <right>407</right>
  121.             <bottom>222</bottom>
  122.         </rect>
  123.         <style>scrolling</style>
  124.         <autoSelect> <false /> </autoSelect>
  125.         <showLines> <false /> </showLines>
  126.         <wideMargins> <true /> </wideMargins>
  127.         <multipleLines> <false /> </multipleLines>
  128.         <reservedFamily> 0 </reservedFamily>
  129.         <titleWidth>0</titleWidth>
  130.         <icon>0</icon>
  131.         <textAlign>left</textAlign>
  132.         <font>Geneva</font>
  133.         <textSize>12</textSize>
  134.         <textStyle>condense</textStyle>
  135.         <textHeight>16</textHeight>
  136.         <name>Infos</name>
  137.         <script></script>
  138.     </part>
  139.     <part>
  140.         <id>18</id>
  141.         <type>button</type>
  142.         <visible> <true /> </visible>
  143.         <reserved5> 0 </reserved5>
  144.         <reserved4> 0 </reserved4>
  145.         <reserved3> 0 </reserved3>
  146.         <reserved2> 0 </reserved2>
  147.         <reserved1> 0 </reserved1>
  148.         <enabled> <true /> </enabled>
  149.         <rect>
  150.             <left>7</left>
  151.             <top>219</top>
  152.             <right>390</right>
  153.             <bottom>231</bottom>
  154.         </rect>
  155.         <style>opaque</style>
  156.         <showName> <false /> </showName>
  157.         <highlight> <false /> </highlight>
  158.         <autoHighlight> <false /> </autoHighlight>
  159.         <sharedHighlight> <true /> </sharedHighlight>
  160.         <family>0</family>
  161.         <titleWidth>0</titleWidth>
  162.         <icon>0</icon>
  163.         <textAlign>center</textAlign>
  164.         <font>Chicago</font>
  165.         <textSize>12</textSize>
  166.         <textStyle>plain</textStyle>
  167.         <name></name>
  168.         <script></script>
  169.     </part>
  170.     <part>
  171.         <id>19</id>
  172.         <type>button</type>
  173.         <visible> <true /> </visible>
  174.         <reserved5> 0 </reserved5>
  175.         <reserved4> 0 </reserved4>
  176.         <reserved3> 0 </reserved3>
  177.         <reserved2> 0 </reserved2>
  178.         <reserved1> 0 </reserved1>
  179.         <enabled> <true /> </enabled>
  180.         <rect>
  181.             <left>30</left>
  182.             <top>232</top>
  183.             <right>84</right>
  184.             <bottom>250</bottom>
  185.         </rect>
  186.         <style>transparent</style>
  187.         <showName> <true /> </showName>
  188.         <highlight> <false /> </highlight>
  189.         <autoHighlight> <true /> </autoHighlight>
  190.         <sharedHighlight> <true /> </sharedHighlight>
  191.         <family>0</family>
  192.         <titleWidth>0</titleWidth>
  193.         <icon>0</icon>
  194.         <textAlign>center</textAlign>
  195.         <font>Chicago</font>
  196.         <textSize>12</textSize>
  197.         <textStyle>plain</textStyle>
  198.         <name>Test</name>
  199.         <script>on mouseUpif visible of cd fld id 29 then hideDemo -- ‚àÜelseset cursor to 4hide cd fld id 17lock screenrepeat with i = 29 to 30show cd fld id iend repeatshow btn id 31put cd fld id 33 into cd fld id 29put empty into cd fld id 30unlock screenselect text of cd fld id 29end ifend mouseUp</script>
  200.     </part>
  201.     <part>
  202.         <id>22</id>
  203.         <type>field</type>
  204.         <visible> <false /> </visible>
  205.         <dontWrap> <false /> </dontWrap>
  206.         <dontSearch> <true /> </dontSearch>
  207.         <sharedText> <false /> </sharedText>
  208.         <fixedLineHeight> <false /> </fixedLineHeight>
  209.         <autoTab> <false /> </autoTab>
  210.         <lockText> <false /> </lockText>
  211.         <rect>
  212.             <left>108</left>
  213.             <top>101</top>
  214.             <right>308</right>
  215.             <bottom>186</bottom>
  216.         </rect>
  217.         <style>rectangle</style>
  218.         <autoSelect> <false /> </autoSelect>
  219.         <showLines> <false /> </showLines>
  220.         <wideMargins> <false /> </wideMargins>
  221.         <multipleLines> <false /> </multipleLines>
  222.         <reservedFamily> 0 </reservedFamily>
  223.         <titleWidth>0</titleWidth>
  224.         <icon>0</icon>
  225.         <textAlign>left</textAlign>
  226.         <font>Geneva</font>
  227.         <textSize>12</textSize>
  228.         <textStyle>plain</textStyle>
  229.         <textHeight>16</textHeight>
  230.         <name>List</name>
  231.         <script></script>
  232.     </part>
  233.     <part>
  234.         <id>28</id>
  235.         <type>button</type>
  236.         <visible> <true /> </visible>
  237.         <reserved5> 0 </reserved5>
  238.         <reserved4> 0 </reserved4>
  239.         <reserved3> 0 </reserved3>
  240.         <reserved2> 0 </reserved2>
  241.         <reserved1> 0 </reserved1>
  242.         <enabled> <true /> </enabled>
  243.         <rect>
  244.             <left>950</left>
  245.             <top>989</top>
  246.             <right>1050</right>
  247.             <bottom>1011</bottom>
  248.         </rect>
  249.         <style>roundrect</style>
  250.         <showName> <true /> </showName>
  251.         <highlight> <false /> </highlight>
  252.         <autoHighlight> <false /> </autoHighlight>
  253.         <sharedHighlight> <true /> </sharedHighlight>
  254.         <family>0</family>
  255.         <titleWidth>0</titleWidth>
  256.         <icon>0</icon>
  257.         <textAlign>center</textAlign>
  258.         <font>Chicago</font>
  259.         <textSize>12</textSize>
  260.         <textStyle>plain</textStyle>
  261.         <name></name>
  262.         <script>function switchListget param(1)if numToChar(44) is in it thenrepeat with i = 1 to the number of items of itput item i of line 1 of it into line (i+1) of itend repeatdelete line 1 of itelserepeat until the number of lines of it = 1put (line 1 of it)&comma&(line 2 of it) into line 1 to 2 of itend repeatend ifreturn itend switchList</script>
  263.     </part>
  264.     <part>
  265.         <id>29</id>
  266.         <type>field</type>
  267.         <visible> <false /> </visible>
  268.         <dontWrap> <false /> </dontWrap>
  269.         <dontSearch> <true /> </dontSearch>
  270.         <sharedText> <false /> </sharedText>
  271.         <fixedLineHeight> <false /> </fixedLineHeight>
  272.         <autoTab> <false /> </autoTab>
  273.         <lockText> <false /> </lockText>
  274.         <rect>
  275.             <left>39</left>
  276.             <top>37</top>
  277.             <right>163</right>
  278.             <bottom>206</bottom>
  279.         </rect>
  280.         <style>shadow</style>
  281.         <autoSelect> <false /> </autoSelect>
  282.         <showLines> <false /> </showLines>
  283.         <wideMargins> <false /> </wideMargins>
  284.         <multipleLines> <false /> </multipleLines>
  285.         <reservedFamily> 0 </reservedFamily>
  286.         <titleWidth>0</titleWidth>
  287.         <icon>0</icon>
  288.         <textAlign>left</textAlign>
  289.         <font>Geneva</font>
  290.         <textSize>12</textSize>
  291.         <textStyle>plain</textStyle>
  292.         <textHeight>16</textHeight>
  293.         <name></name>
  294.         <script></script>
  295.     </part>
  296.     <part>
  297.         <id>30</id>
  298.         <type>field</type>
  299.         <visible> <false /> </visible>
  300.         <dontWrap> <false /> </dontWrap>
  301.         <dontSearch> <true /> </dontSearch>
  302.         <sharedText> <false /> </sharedText>
  303.         <fixedLineHeight> <false /> </fixedLineHeight>
  304.         <autoTab> <false /> </autoTab>
  305.         <lockText> <false /> </lockText>
  306.         <rect>
  307.             <left>256</left>
  308.             <top>37</top>
  309.             <right>380</right>
  310.             <bottom>206</bottom>
  311.         </rect>
  312.         <style>shadow</style>
  313.         <autoSelect> <false /> </autoSelect>
  314.         <showLines> <false /> </showLines>
  315.         <wideMargins> <false /> </wideMargins>
  316.         <multipleLines> <false /> </multipleLines>
  317.         <reservedFamily> 0 </reservedFamily>
  318.         <titleWidth>0</titleWidth>
  319.         <icon>0</icon>
  320.         <textAlign>left</textAlign>
  321.         <font>Geneva</font>
  322.         <textSize>12</textSize>
  323.         <textStyle>plain</textStyle>
  324.         <textHeight>16</textHeight>
  325.         <name></name>
  326.         <script></script>
  327.     </part>
  328.     <part>
  329.         <id>33</id>
  330.         <type>field</type>
  331.         <visible> <false /> </visible>
  332.         <dontWrap> <false /> </dontWrap>
  333.         <dontSearch> <true /> </dontSearch>
  334.         <sharedText> <false /> </sharedText>
  335.         <fixedLineHeight> <false /> </fixedLineHeight>
  336.         <autoTab> <false /> </autoTab>
  337.         <lockText> <false /> </lockText>
  338.         <rect>
  339.             <left>292</left>
  340.             <top>21</top>
  341.             <right>416</right>
  342.             <bottom>190</bottom>
  343.         </rect>
  344.         <style>shadow</style>
  345.         <autoSelect> <false /> </autoSelect>
  346.         <showLines> <false /> </showLines>
  347.         <wideMargins> <true /> </wideMargins>
  348.         <multipleLines> <false /> </multipleLines>
  349.         <reservedFamily> 0 </reservedFamily>
  350.         <titleWidth>0</titleWidth>
  351.         <icon>0</icon>
  352.         <textAlign>left</textAlign>
  353.         <font>Geneva</font>
  354.         <textSize>12</textSize>
  355.         <textStyle>plain</textStyle>
  356.         <textHeight>16</textHeight>
  357.         <name></name>
  358.         <script></script>
  359.     </part>
  360.     <part>
  361.         <id>5</id>
  362.         <type>field</type>
  363.         <visible> <false /> </visible>
  364.         <dontWrap> <false /> </dontWrap>
  365.         <dontSearch> <true /> </dontSearch>
  366.         <sharedText> <false /> </sharedText>
  367.         <fixedLineHeight> <false /> </fixedLineHeight>
  368.         <autoTab> <false /> </autoTab>
  369.         <lockText> <true /> </lockText>
  370.         <rect>
  371.             <left>6</left>
  372.             <top>4</top>
  373.             <right>407</right>
  374.             <bottom>265</bottom>
  375.         </rect>
  376.         <style>rectangle</style>
  377.         <autoSelect> <false /> </autoSelect>
  378.         <showLines> <false /> </showLines>
  379.         <wideMargins> <true /> </wideMargins>
  380.         <multipleLines> <false /> </multipleLines>
  381.         <reservedFamily> 0 </reservedFamily>
  382.         <titleWidth>0</titleWidth>
  383.         <icon>0</icon>
  384.         <textAlign>left</textAlign>
  385.         <font>Geneva</font>
  386.         <textSize>10</textSize>
  387.         <textStyle>plain</textStyle>
  388.         <textHeight>13</textHeight>
  389.         <name>Help</name>
  390.         <script>on mouseUplock screenhide cd fld "Help"unlock screen with visual zoom closeend mouseUp</script>
  391.     </part>
  392.     <content>
  393.         <layer>card</layer>
  394.         <id>5</id>
  395.         <text><span class="style48">Pour disposer dans la pile de votre choix du nouveau mot de vocabulaire correspondant √† l'externe et l'utiliser ensuite comme toute autre expression HyperTalk standard :-¬†Cliquez sur "Installer dans une autre pile‚Ķ".-¬†Dans le dialogue qui s'ouvre, localisez la pile de destination dans     laquelle vous d√©sirez installer l'externe.-¬†Validez : l'externe y est alors copi√©e.-¬†Une alerte vous avertit du succ√®s (ou de l'√©chec) de l'op√©ration.Vous pouvez d√©sormais utiliser cette extension du vocabulaire dans n'importe quel script de la pile de destination tout comme une expression quelconque du vocabulaire standard.</span></text>
  396.     </content>
  397.     <content>
  398.         <layer>card</layer>
  399.         <id>17</id>
  400.         <text><span class="style2"></span><span class="style44">XFCN Crunch de Dan Wood</span><span class="style2"></span><span class="style1">Sur le CD-Rom du n¬∫50, Jean-Paul Chicheret vous a plac√© la collection compl√®te des commandes et fonctions externes de Frederic Rinaldi.Partons donc ailleurs avec une XFCN de Dan Wood tr√®s utile :Quand vous traitez des donn√©es, il peut arriver qu'une ligne vide ou retour chariot mal plac√© entra√Æne des dysfonctionnements certains. Crunch permet de supprimer les lignes vides et les retours chariot surnum√©raires dans tout conteneur : un champ, une variable, etc‚ĶSa syntaxe est tr√®s simple :</span><span class="style3">  get Crunch(<conteneur>)  -- place dans it le r√©sultat</span><span class="style1">Vous compl√©terez le travail de cette XFCN par une ligne de code suppl√©mentaire. Par exemple :</span><span class="style3">  put Crunch(cd fld 1) into cd fld 2  if last char of cd fld 2 = return  then delete last char of cd fld 2</span><span class="style1">En effet, la XFCN laisse un seul retour chariot en fin de la liste retourn√©e si la liste source en comporte plusieurs √† sa fin : ne vous faites pas pi√©ger !</span></text>
  401.     </content>
  402.     <content>
  403.         <layer>card</layer>
  404.         <id>22</id>
  405.         <text><span class="style153">boutADBLightsAuxWindowBarButtonBeepSoundBreakSportChangeCursChangeMenuCheckMenuCloseResForkColorColumnizeCombineFilesCommInitCommWriteHyperSoundImportPICTInitMIDIKillResKillResIDLookupATMakeICONMakeRandomMenuChangeMenuCheckMenuInsertMenuInstallMenuMgrMenuRemoveMenuSetModDialogModResCopyMountMultiScrollMungeMCTBNewFolderOpenSPortPopUpPicturePostEventPrFieldPrintClipPrintFieldPrintFld PrintrectPrintTextProgressProgressPromptPromptPutAlertPutClipboardReceiveATRegisterATRenameFileResChngInfoResCopyResCopyTypesResDeleteResetMIDIResetPrinterResetSPortRestartSafeShutDownSaySayPhoneticScanSendATSendSerialSendSPortSetSetDeskSetDialogSetModeSetPitchSetPVolumeSetRateSetVolumeShowAlertShowCursorShowDialogShowMenuShutDownSoundCapToResSpeakSTARStatusDialogStdFileStopTabsSuspendinstallTalkTalkConvertTalkPhoneticTextStreamTitleBarTrapReturnTurnSpeechOffTurnSpeechOnTxMIDIUnmountXcleanXprintFieldZoomRect</span></text>
  406.     </content>
  407.     <content>
  408.         <layer>card</layer>
  409.         <id>33</id>
  410.         <text>AbeilleMoucheOiseauRaton-laveurSouris</text>
  411.     </content>
  412.     <content>
  413.         <layer>card</layer>
  414.         <id>29</id>
  415.         <text>AbeilleMoucheOiseauRaton-laveurSouris</text>
  416.     </content>
  417.     <content>
  418.         <layer>card</layer>
  419.         <id>30</id>
  420.         <text>AbeilleMoucheOiseauRaton-laveurSouris</text>
  421.     </content>
  422.     <name></name>
  423.     <script>on closeCardif visible of cd fld id 29 then hideDemo -- ‚àÜelse lock screenpass closeCardend closeCard------------------------------------------------------------------------on hideDemoset cursor to 4lock screenrepeat with i = 29 to 30hide cd fld id iend repeathide btn id 31show cd fld id 17end hideDemo------------------------------------------------------------------------on mouseUpif visible of cd fld id 29 then hideDemo -- ‚àÜend mouseUp</script>
  424. </card>
  425.  
  426.  
  427. card_5299.xml
  428. <?xml version="1.0" encoding="utf-8" ?>
  429. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  430. <card>
  431.     <id>5299</id>
  432.     <filler1>0</filler1>
  433.     <bitmap>BMAP_6056.pbm</bitmap>
  434.     <cantDelete> <false /> </cantDelete>
  435.     <showPict> <true /> </showPict>
  436.     <dontSearch> <false /> </dontSearch>
  437.     <owner>2723</owner>
  438.     <link rel="stylesheet" type="text/css" href="stylesheet_3174.css" />
  439.     <part>
  440.         <id>1</id>
  441.         <type>field</type>
  442.         <visible> <true /> </visible>
  443.         <dontWrap> <false /> </dontWrap>
  444.         <dontSearch> <false /> </dontSearch>
  445.         <sharedText> <false /> </sharedText>
  446.         <fixedLineHeight> <false /> </fixedLineHeight>
  447.         <autoTab> <false /> </autoTab>
  448.         <lockText> <true /> </lockText>
  449.         <rect>
  450.             <left>6</left>
  451.             <top>4</top>
  452.             <right>407</right>
  453.             <bottom>222</bottom>
  454.         </rect>
  455.         <style>scrolling</style>
  456.         <autoSelect> <false /> </autoSelect>
  457.         <showLines> <false /> </showLines>
  458.         <wideMargins> <true /> </wideMargins>
  459.         <multipleLines> <false /> </multipleLines>
  460.         <reservedFamily> 0 </reservedFamily>
  461.         <titleWidth>0</titleWidth>
  462.         <icon>0</icon>
  463.         <textAlign>left</textAlign>
  464.         <font>Geneva</font>
  465.         <textSize>12</textSize>
  466.         <textStyle>condense</textStyle>
  467.         <textHeight>16</textHeight>
  468.         <name>Infos</name>
  469.         <script>on mouseUpset the cantAbort of this stack to trueif "group" is in the textStyle of the clickChunk thenset cursor to 700get the clickTextif it = "select the clickChunk" then do itelse if it = "select the foundChunk" thenfind whole "s√©lectionne le texte trouv√© en vid√©o inverse"wait 10do itelseselect the clickChunkdo itend ifelseselect emptypass mouseUpend ifend mouseUp</script>
  470.     </part>
  471.     <part>
  472.         <id>6</id>
  473.         <type>button</type>
  474.         <visible> <true /> </visible>
  475.         <reserved5> 0 </reserved5>
  476.         <reserved4> 0 </reserved4>
  477.         <reserved3> 0 </reserved3>
  478.         <reserved2> 0 </reserved2>
  479.         <reserved1> 0 </reserved1>
  480.         <enabled> <true /> </enabled>
  481.         <rect>
  482.             <left>7</left>
  483.             <top>219</top>
  484.             <right>390</right>
  485.             <bottom>231</bottom>
  486.         </rect>
  487.         <style>opaque</style>
  488.         <showName> <false /> </showName>
  489.         <highlight> <false /> </highlight>
  490.         <autoHighlight> <false /> </autoHighlight>
  491.         <sharedHighlight> <true /> </sharedHighlight>
  492.         <family>0</family>
  493.         <titleWidth>0</titleWidth>
  494.         <icon>0</icon>
  495.         <textAlign>center</textAlign>
  496.         <font>Chicago</font>
  497.         <textSize>12</textSize>
  498.         <textStyle>plain</textStyle>
  499.         <name></name>
  500.         <script></script>
  501.     </part>
  502.     <part>
  503.         <id>7</id>
  504.         <type>button</type>
  505.         <visible> <true /> </visible>
  506.         <reserved5> 0 </reserved5>
  507.         <reserved4> 0 </reserved4>
  508.         <reserved3> 0 </reserved3>
  509.         <reserved2> 0 </reserved2>
  510.         <reserved1> 0 </reserved1>
  511.         <enabled> <true /> </enabled>
  512.         <rect>
  513.             <left>15</left>
  514.             <top>232</top>
  515.             <right>136</right>
  516.             <bottom>250</bottom>
  517.         </rect>
  518.         <style>transparent</style>
  519.         <showName> <true /> </showName>
  520.         <highlight> <false /> </highlight>
  521.         <autoHighlight> <true /> </autoHighlight>
  522.         <sharedHighlight> <true /> </sharedHighlight>
  523.         <family>0</family>
  524.         <titleWidth>0</titleWidth>
  525.         <icon>0</icon>
  526.         <textAlign>center</textAlign>
  527.         <font>Chicago</font>
  528.         <textSize>12</textSize>
  529.         <textStyle>plain</textStyle>
  530.         <name>Open</name>
  531.         <script>on mouseUpfindItem -- ‚àÜCend mouseUp</script>
  532.     </part>
  533.     <part>
  534.         <id>14</id>
  535.         <type>button</type>
  536.         <visible> <true /> </visible>
  537.         <reserved5> 0 </reserved5>
  538.         <reserved4> 0 </reserved4>
  539.         <reserved3> 0 </reserved3>
  540.         <reserved2> 0 </reserved2>
  541.         <reserved1> 0 </reserved1>
  542.         <enabled> <true /> </enabled>
  543.         <rect>
  544.             <left>145</left>
  545.             <top>232</top>
  546.             <right>266</right>
  547.             <bottom>250</bottom>
  548.         </rect>
  549.         <style>transparent</style>
  550.         <showName> <true /> </showName>
  551.         <highlight> <false /> </highlight>
  552.         <autoHighlight> <true /> </autoHighlight>
  553.         <sharedHighlight> <true /> </sharedHighlight>
  554.         <family>0</family>
  555.         <titleWidth>0</titleWidth>
  556.         <icon>0</icon>
  557.         <textAlign>center</textAlign>
  558.         <font>Chicago</font>
  559.         <textSize>12</textSize>
  560.         <textStyle>plain</textStyle>
  561.         <name>ErrorDialog</name>
  562.         <script>on mouseUpfindItem -- ‚àÜCend mouseUp</script>
  563.     </part>
  564.     <part>
  565.         <id>15</id>
  566.         <type>button</type>
  567.         <visible> <true /> </visible>
  568.         <reserved5> 0 </reserved5>
  569.         <reserved4> 0 </reserved4>
  570.         <reserved3> 0 </reserved3>
  571.         <reserved2> 0 </reserved2>
  572.         <reserved1> 0 </reserved1>
  573.         <enabled> <true /> </enabled>
  574.         <rect>
  575.             <left>275</left>
  576.             <top>232</top>
  577.             <right>396</right>
  578.             <bottom>250</bottom>
  579.         </rect>
  580.         <style>transparent</style>
  581.         <showName> <true /> </showName>
  582.         <highlight> <false /> </highlight>
  583.         <autoHighlight> <true /> </autoHighlight>
  584.         <sharedHighlight> <true /> </sharedHighlight>
  585.         <family>0</family>
  586.         <titleWidth>0</titleWidth>
  587.         <icon>0</icon>
  588.         <textAlign>center</textAlign>
  589.         <font>Chicago</font>
  590.         <textSize>12</textSize>
  591.         <textStyle>condense</textStyle>
  592.         <name>lockErrorDialogs</name>
  593.         <script>on mouseUpfindItem -- ‚àÜCend mouseUp</script>
  594.     </part>
  595.     <part>
  596.         <id>20</id>
  597.         <type>field</type>
  598.         <visible> <false /> </visible>
  599.         <dontWrap> <true /> </dontWrap>
  600.         <dontSearch> <false /> </dontSearch>
  601.         <sharedText> <false /> </sharedText>
  602.         <fixedLineHeight> <false /> </fixedLineHeight>
  603.         <autoTab> <false /> </autoTab>
  604.         <lockText> <true /> </lockText>
  605.         <rect>
  606.             <left>33</left>
  607.             <top>8</top>
  608.             <right>193</right>
  609.             <bottom>172</bottom>
  610.         </rect>
  611.         <style>shadow</style>
  612.         <autoSelect> <false /> </autoSelect>
  613.         <showLines> <false /> </showLines>
  614.         <wideMargins> <true /> </wideMargins>
  615.         <multipleLines> <false /> </multipleLines>
  616.         <reservedFamily> 0 </reservedFamily>
  617.         <titleWidth>0</titleWidth>
  618.         <icon>0</icon>
  619.         <textAlign>left</textAlign>
  620.         <font>Times</font>
  621.         <textSize>14</textSize>
  622.         <textStyle>plain</textStyle>
  623.         <textHeight>18</textHeight>
  624.         <name></name>
  625.         <script>on mouseUphide meend mouseUp</script>
  626.     </part>
  627.     <part>
  628.         <id>21</id>
  629.         <type>field</type>
  630.         <visible> <false /> </visible>
  631.         <dontWrap> <true /> </dontWrap>
  632.         <dontSearch> <false /> </dontSearch>
  633.         <sharedText> <false /> </sharedText>
  634.         <fixedLineHeight> <false /> </fixedLineHeight>
  635.         <autoTab> <false /> </autoTab>
  636.         <lockText> <true /> </lockText>
  637.         <rect>
  638.             <left>26</left>
  639.             <top>12</top>
  640.             <right>186</right>
  641.             <bottom>176</bottom>
  642.         </rect>
  643.         <style>shadow</style>
  644.         <autoSelect> <false /> </autoSelect>
  645.         <showLines> <false /> </showLines>
  646.         <wideMargins> <true /> </wideMargins>
  647.         <multipleLines> <false /> </multipleLines>
  648.         <reservedFamily> 0 </reservedFamily>
  649.         <titleWidth>0</titleWidth>
  650.         <icon>0</icon>
  651.         <textAlign>left</textAlign>
  652.         <font>Times</font>
  653.         <textSize>14</textSize>
  654.         <textStyle>plain</textStyle>
  655.         <textHeight>18</textHeight>
  656.         <name></name>
  657.         <script>on mouseUphide meput empty into fld id 20end mouseUp</script>
  658.     </part>
  659.     <part>
  660.         <id>48</id>
  661.         <type>field</type>
  662.         <visible> <true /> </visible>
  663.         <dontWrap> <false /> </dontWrap>
  664.         <dontSearch> <true /> </dontSearch>
  665.         <sharedText> <false /> </sharedText>
  666.         <fixedLineHeight> <false /> </fixedLineHeight>
  667.         <autoTab> <false /> </autoTab>
  668.         <lockText> <true /> </lockText>
  669.         <rect>
  670.             <left>900</left>
  671.             <top>958</top>
  672.             <right>1100</right>
  673.             <bottom>1043</bottom>
  674.         </rect>
  675.         <style>rectangle</style>
  676.         <autoSelect> <false /> </autoSelect>
  677.         <showLines> <false /> </showLines>
  678.         <wideMargins> <false /> </wideMargins>
  679.         <multipleLines> <false /> </multipleLines>
  680.         <reservedFamily> 0 </reservedFamily>
  681.         <titleWidth>0</titleWidth>
  682.         <icon>0</icon>
  683.         <textAlign>left</textAlign>
  684.         <font>Geneva</font>
  685.         <textSize>12</textSize>
  686.         <textStyle>plain</textStyle>
  687.         <textHeight>16</textHeight>
  688.         <name></name>
  689.         <script></script>
  690.     </part>
  691.     <part>
  692.         <id>49</id>
  693.         <type>button</type>
  694.         <visible> <false /> </visible>
  695.         <reserved5> 0 </reserved5>
  696.         <reserved4> 0 </reserved4>
  697.         <reserved3> 0 </reserved3>
  698.         <reserved2> 0 </reserved2>
  699.         <reserved1> 0 </reserved1>
  700.         <enabled> <true /> </enabled>
  701.         <rect>
  702.             <left>0</left>
  703.             <top>0</top>
  704.             <right>416</right>
  705.             <bottom>304</bottom>
  706.         </rect>
  707.         <style>opaque</style>
  708.         <showName> <false /> </showName>
  709.         <highlight> <false /> </highlight>
  710.         <autoHighlight> <false /> </autoHighlight>
  711.         <sharedHighlight> <true /> </sharedHighlight>
  712.         <family>0</family>
  713.         <titleWidth>0</titleWidth>
  714.         <icon>129</icon>
  715.         <textAlign>center</textAlign>
  716.         <font>Chicago</font>
  717.         <textSize>12</textSize>
  718.         <textStyle>plain</textStyle>
  719.         <name></name>
  720.         <script>on mouseUphide meend mouseUp</script>
  721.     </part>
  722.     <content>
  723.         <layer>card</layer>
  724.         <id>1</id>
  725.         <text><span class="style1"></span><span class="style2">Le vocabulaire mis en ≈ìuvre</span><span class="style1">-¬†Tapez </span><span class="style4">‚åò</span><span class="style1"> - P pour imprimer cet article.-¬†Cliquez sur les lignes en soulign√© gris√© pour obtenir des¬†¬†d√©monstrations.</span><span class="style2">----------------------------------------------------</span><span class="style1"></span><span class="style2">La commande open----------------------------------------------------</span><span class="style6"></span><span class="style7">Domaine : ouverture d'un fichier quelconque ou d'une autre application qu'HyperCardDisponibilit√© : toutes versions</span><span class="style8"></span><span class="style9">Ouvre une application √† partir d'HyperCard en affichant un document "sans titre" ou en affichant le document sp√©cifi√© :</span><span class="style7">open</span><span class="style9"> </span><span class="style168">nom d'application</span><span class="style7">open</span><span class="style9"> </span><span class="style168">nom de fichier </span><span class="style9">with</span><span class="style168"> nom d'application</span><span class="style9">o√π</span><span class="style168"> nom de fichier </span><span class="style9">et</span><span class="style168"> nom d'application</span><span class="style9"> doivent √™tre stipul√©s avec leurs cheminements d'acc√®s complets quand ils ne sont situ√©s : ¬†-¬†ni dans le m√™me dossier que la pile courante¬†-¬†ni dans le m√™me dossier qu'HyperCard¬†-¬†ni √† la ra√ßine du disque¬†-¬†ni r√©pertori√©s dans la carte des cheminements de la pile de baseSinon la commande </span><span class="style168">open</span><span class="style9"> affiche automatiquement le dialogue de localisation n√©cessaires.Si l'utilisateur annule, HyperCard retourne "Cancel" dans la fonction the result. Si tout se passe bien, HyperCard retourne "empty" (vide) dans la fonction the result.Si HyperCard rencontre un probl√®me de m√©moire( insuffisante par exemple), il retourne "Out of memory." dans la fonction the result.. Il peut √©galement retourner"Couldn't open that application." dans la fonction the result. (dans tous les cas, </span><span class="style168">the result is not empty</span><span class="style9">‚Ķ)</span><span class="style7">Param√®tres r√©cup√©rables</span><span class="style9"> :‚Ä¢¬†param(1) : le nom ou cheminement d'acc√®s au fichier ou √† l'application‚Ä¢¬†param(2) : inexistant ou with‚Ä¢¬†param(3) : inexistant ou le nom ou le cheminement d'acc√®s √† l'applicationQuand faire appel √† la commande </span><span class="style7">open</span><span class="style9"> ?Cette commande est utlis√©e pour ouvrir les applications AppleScript de la correction des textes propos√©e dans la section "Faire".Pour ouvrir tout fichier </span><span class="style216">existant</span><span class="style9"> ou sans titre autre qu'une pile HyperCard (sinon la commande go doit √™tre employ√©e).</span><span class="style222"></span><span class="style3">  </span><span class="style160">open</span><span class="style3"> "Imp√¥ts 92" with "Microsoft Excel"  -- notez bien les guillemets  answer file "Ouvrir quelle application ?" of type APPL  if it is not empty then </span><span class="style160">open</span><span class="style3"> it  if the result ‚↠empty then answer the result  -- ce handler fait l'objet de la d√©mo  </span><span class="style200"><a href="#" class="group">open</a></span><span class="style198"><a href="#" class="group"> "le document √† ouvrir" with¬¨  "l'application correspondante"</a></span><span class="style3">  -- HyperCard ne trouvant ni document nomm√© "le document √†  -- ouvrir" ni d'application nomm√©e "l'application  -- correspondante" affichera les dialogues de recherche  -- avec les messages "Ou se trouve le document √† ouvrir ?"  -- et "Ou se trouve l'application correspondante ?"</span><span class="style93">Nota</span><span class="style9"> : la commande </span><span class="style7">open</span><span class="style9"> ne peut pas s'utiliser avec la m√™me universalit√© que la command close. Ainsi, par exemple, vous ne pouvez pas √©crire :</span><span class="style3">  </span><span class="style160">open</span><span class="style3"> window "tools" -- mais : show window tools</span><span class="style7">Am√©liorations √† partir de la version 2.2 :</span><span class="style9">A partir de la version 2.2, r√©clamer l'ouverture d'un fichier inexistant n'entra√Æne plus de message d'erreur et l'interruption de la proc√©dure en cours mais renvoie seulement "Can't create that file.", "File is already open." ou "Can't open that file." dans la fonction the result.A partir de cette version, vous pouvez √©galement employer la formulation suivante :</span><span class="style3">  if the suspended then </span><span class="style160">open</span><span class="style3"> the long name of HyperCard  -- am√®ne HyperCard au premier plan</span><span class="style2">----------------------------------------------------</span><span class="style1"></span><span class="style2">Le message syst√®me errorDialog----------------------------------------------------</span><span class="style6"></span><span class="style7">Domaine : traitement des erreursDisponibilit√© : 2.1 et ult√©rieures</span><span class="style8"></span><span class="style9">                                                                                                                Message envoy√© par HyperCard √† la carte courante quand la propri√©t√© lockErrorDialogs¬†est positionn√©e sur true au lieu d'afficher un message d'erreur.</span><span class="style7">Param√®tre</span><span class="style9"> : la cha√Æne de caract√®res qui aurait √©t√© affich√©e dans le message d'erreur.</span><span class="style7">Important</span><span class="style9"> : la propri√©t√© globale lockErrorDialogs¬†est repositionn√©e automatiquement sur false √† l'√©tat idle. Vous devez donc la fixer sur true au d√©but de chaque proc√©dure au cours de laquelle vous d√©sirez √©ventuellement pouvoir intercepter le message syst√®me </span><span class="style7">errorDialog</span><span class="style9">.Quand intercepter le message </span><span class="style7">errorDialog</span><span class="style9"> ?Ce message syst√®me est intercept√© dans le script de la carte "Th√©orie" de cette pile en cas de probl√®me avec la d√©monstration de r√©cursivit√© (et si la version courante d'HC est bien post√©rieure √† 2.0).Apr√®s avoir positionn√© la propri√©t√© lockErrorDialogs¬†sur true (vrai) ou utilis√© la commande lock error dialogs (√† partir d'HyperCard 2.2) pour red√©finir vous-m√™me les messages d'erreur.</span><span class="style3">  on </span><span class="style160">errordialog</span><span class="style3">    answer "Ceci est une version √ü."¬¨    &return&"Participez √† sa finalisation en notant la"¬¨    &"manipulation effectu√©e"¬¨    &"pour correction du bogue."&return&"Merci !"  end </span><span class="style160">errordialog</span><span class="style3"></span><span class="style9">Ou encore :</span><span class="style3">  on </span><span class="style160">errordialog</span><span class="style3">    get param(1)    if "Not enough memory" is in it then       answer "La m√©moire allou√©e √† HyperCard est"¬¨      &&"insuffisante pour effectuer cette op√©ration."¬¨      &return&"Voulez vous allouer plus"¬¨      &&"de m√©moire √† HyperCard"  with "Allouer" or "Annuler"      </span><span class="style214">instructions</span><span class="style3">    else if "This stack has not been converted" is in it then      answer "Cette pile est au format 1.x et doit √™tre"¬¨      &&"pr√©alablement convertie"¬¨      with "Convertir" or "Annuler"      </span><span class="style214">instructions</span><span class="style3">    etc‚Ķ  end </span><span class="style160">errordialog</span><span class="style3"></span><span class="style7">Dans quel script ?</span><span class="style9">Celui de la pile en g√©n√©ral pour pouvoir √™tre disponible partout.</span><span class="style2">----------------------------------------------------</span><span class="style1"></span><span class="style2">Le propri√©t√© lockErrorDialogs----------------------------------------------------</span><span class="style6"></span><span class="style7">Domaine : contr√¥le de l'√©mission des messages d'erreursDisponibilit√© : 2.1 et ult√©rieures</span><span class="style8"></span><span class="style187"></span><span class="style9">Objet concern√© : HyperCardValeurs possibles : true ou false (bool√©enne)Valeur par d√©faut : false[the] </span><span class="style7">lockErrorDialogs</span><span class="style9">Emp√™che l'envoi des messages syst√®me d'erreur pouvant occurrer au cours de l'ex√©cution du handler courant jusqu'√† la fin de ce handler (la propri√©t√© est automatiquement reposition√©√©e sur false √† l'√©tat </span><span class="style220"><a href="#" class="group">idle</a></span><span class="style9">) ou jusqu'√† ce que la propri√©t√© soit repositionn√©e sur false (faux) au cours du handler.set </span><span class="style7">lockErrorDialogs</span><span class="style9"> to true-- Equivaut √† "</span><span class="style220"><a href="#" class="group">lock</a></span><span class="style227"><a href="#" class="group"> </a></span><span class="style220"><a href="#" class="group">error dialogs</a></span><span class="style9">" (√† partir de HC 2.2)Quand faire appel √† la propri√©t√© </span><span class="style7">lockErrorDialogs</span><span class="style9"> ?Pour finaliser une pile "√† fond" en g√©rant les messages d'erreurs √©ventuels qui n'appara√Ætront alors jamais √† l'utilisateur. A cette fin, il convient de verrouiller l'envoi automatique des messages d'erreur (positionner la propri√©t√© sur true en t√™te des handlers) et g√©rer le message syst√®me </span><span class="style220"><a href="#" class="group">errorD</a></span><span class="style9">ialog envoy√© alors par HyperCard √† la carte courante :</span><span class="style3">  on errorDialog    get param(1)    if it = "User level is too low to edit scripts." then      set userLevel to 5    else if it = etc‚Ķ      </span><span class="style214">instructions</span><span class="style3">  end errorDialog</span></text>
  726.     </content>
  727.     <content>
  728.         <layer>card</layer>
  729.         <id>20</id>
  730.         <text>Pr√©nom</text>
  731.     </content>
  732.     <content>
  733.         <layer>card</layer>
  734.         <id>21</id>
  735.         <text>Tom Hammer, 7 ansBob Eddings, 12 ansEric Carlson, 22 ansKarl Korff, 27 ansEd Rosenzweig, 32 ansRobertson Smith, 34 ansElaine Ung, 40 ansRobert Chinn, 51 ansBill Duvall, 65 ansGerry Burnett, 88 ans</text>
  736.     </content>
  737.     <content>
  738.         <layer>card</layer>
  739.         <id>48</id>
  740.         <text>Le vocabulaire mis en ≈ìuvre-¬†Tapez ‚åò - P pour imprimer cet article.-¬†Cliquez sur les lignes en soulign√© gris√© pour obtenir des¬†¬†d√©monstrations.----------------------------------------------------Le message syst√®me mouseEnter----------------------------------------------------Domaine : action sourisDisponibilit√© : toutes versions d'HC¬†¬†Message envoy√© par HyperCard √† un champ (verrouill√© ou non) ou √† un bouton quand l'utilisateur fait rentrer le pointeur dans le p√©rim√®tre de celui-ci.Param√®tre : n√©antQuand intercepter le message mouseEnter ?Pour simuler les bulles d'aide du syst√®me 7 dans une pile par exemple ou placer le point d'insertion automatiquement pour permettre la saisie dans un champ.Dans quel script intercepter le message mouseEnter ?Celui du bouton ou du champ concern√© dans la plupart des cas (Voyez la carte de "Faire") mais aussi dans celui de la carte en testant l'objet qui donne lieu √† l'√©mission du message mouseEnter :  on mouseEnter    get the target    if "1" is in it then‚Ķ    -- suppose le bouton sans nom : 1 est alors son n¬∫ d'ID    else if "2" is in it then‚Ķ etc‚Ķ  end mouseEnterN'oubliez pas les autres messages syst√®me concernant les actions souris : mouseDown, mouseLeave¬†(d√©taill√© ci-dessous), mouseStillDown, mouseUp et mouseWithin.----------------------------------------------------Le message syst√®me mouseLeave----------------------------------------------------Domaine : action sourisDisponibilit√© : toutes versions d'HC                                                                                                                Message envoy√© par HyperCard √† un champ (verrouill√© ou non) ou √† un bouton quand l'utilisateur fait sortir le pointeur du p√©rim√®tre de celui-ci.Param√®tre : n√©antQuand intercepter le message mouseLeave ?Souvent en pendant du pr√©c√©dent, mouseEnter.Dans quel script intercepter le message mouseLeave ?Celui du bouton ou du champ concern√© mais plus souvent directement au niveau du script de la carte, du fond ou de la pile.Important :Il est courant (faut-il parler de bug d'HyperCard pour autant ?) que l'interception du message mouseLeave dans le script d'une carte pose probl√®me lors de la navigation vers une autre carte. Le message est alors intercept√© mais concernant √©ventuellement un objet de la carte nouvellement affich√©e, d'o√π un message d'incompr√©hension de la part d'HyperCard dans la plupart des cas.√âviter ce type d'ennui est simple en posant une condition lors de l'interception du message mouseLeave :  on mouseLeave    if the short ID of this cd = 4188 then      ‚Ķ    end if  end mouseLeave  -- toute autre carte ne pourra pas alors √™tre affect√©eN'oubliez pas les autres messages syst√®me concernant les actions souris : mouseDown, mouseEnter, mouseStillDown, mouseUp et mouseWithin.----------------------------------------------------Le conteneur clipboard----------------------------------------------------Domaine : contenu du presse-papiersDisponibilit√© : √† partir de HC 2.3Jusqu'√† la version 2.2, il s'av√©rait ennuyeux ne serait-ce que de transf√©rer un texte dans le presse-papiers :Il convenait de placer le texte convoit√© dans un champ (verrouill√© ou non) mais plac√© en dehors de la carte, au loc "1000,1000" par exemple.Ensuite il fallait s√©lectionner le texte et utiliser la commande "doMenu Copy Text" pour transf√©rer le texte dans le presse-papiers‚ĶLa proc√©dure ne peut en effet fonctionner si le champ est cach√© : HyperCard ne peut alors s√©lectionner le texte qu'il contient et ne trouve pas en cons√©quence l'article de menu n√©cessaire.Simple, non ?Avec la version 2.3, tout devient plus facile mais reste limit√© aux valeurs textuelles quelle que soit leur origine : champ, variable, contenu d'un bouton, etc‚Ķ : [the] clipboard est d√©sormais un conteneur.Vous pouvez donc √©crire :  get [the] clipboard -- "the" reste optionnelSi le presse-papiers ne contient pas de texte, la variable locale it sera vide et aucun message d'erreur ne sera retourn√©.Vous pouvez √©galement √©crire :  put cd fld 1 into [the] clipboardCela √©quivaut alors √† la proc√©dure d√©crite plus haut pour les versions ant√©rieures.</text>
  741.     </content>
  742.     <name></name>
  743.     <script>on findItemfind whole short name of the target in cd fld id 1end findItem------------------------------------------------------------------------on openCardshow groupsend openCard------------------------------------------------------------------------on closeCardlock screenhide groupspass closeCardend closeCard</script>
  744. </card>
  745.  
  746.  
  747. card_4188.xml
  748. <?xml version="1.0" encoding="utf-8" ?>
  749. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  750. <card>
  751.     <id>4188</id>
  752.     <filler1>0</filler1>
  753.     <bitmap>BMAP_3816.pbm</bitmap>
  754.     <cantDelete> <false /> </cantDelete>
  755.     <showPict> <true /> </showPict>
  756.     <dontSearch> <false /> </dontSearch>
  757.     <owner>2723</owner>
  758.     <link rel="stylesheet" type="text/css" href="stylesheet_3174.css" />
  759.     <part>
  760.         <id>115</id>
  761.         <type>field</type>
  762.         <visible> <true /> </visible>
  763.         <dontWrap> <false /> </dontWrap>
  764.         <dontSearch> <true /> </dontSearch>
  765.         <sharedText> <false /> </sharedText>
  766.         <fixedLineHeight> <true /> </fixedLineHeight>
  767.         <autoTab> <false /> </autoTab>
  768.         <lockText> <true /> </lockText>
  769.         <rect>
  770.             <left>906</left>
  771.             <top>940</top>
  772.             <right>1095</right>
  773.             <bottom>1060</bottom>
  774.         </rect>
  775.         <style>transparent</style>
  776.         <autoSelect> <false /> </autoSelect>
  777.         <showLines> <true /> </showLines>
  778.         <wideMargins> <true /> </wideMargins>
  779.         <multipleLines> <false /> </multipleLines>
  780.         <reservedFamily> 0 </reservedFamily>
  781.         <titleWidth>0</titleWidth>
  782.         <icon>0</icon>
  783.         <textAlign>left</textAlign>
  784.         <font>Geneva</font>
  785.         <textSize>12</textSize>
  786.         <textStyle>condense</textStyle>
  787.         <textHeight>16</textHeight>
  788.         <name></name>
  789.         <script></script>
  790.     </part>
  791.     <part>
  792.         <id>85</id>
  793.         <type>field</type>
  794.         <visible> <true /> </visible>
  795.         <dontWrap> <false /> </dontWrap>
  796.         <dontSearch> <true /> </dontSearch>
  797.         <sharedText> <false /> </sharedText>
  798.         <fixedLineHeight> <false /> </fixedLineHeight>
  799.         <autoTab> <false /> </autoTab>
  800.         <lockText> <true /> </lockText>
  801.         <rect>
  802.             <left>6</left>
  803.             <top>4</top>
  804.             <right>407</right>
  805.             <bottom>265</bottom>
  806.         </rect>
  807.         <style>transparent</style>
  808.         <autoSelect> <false /> </autoSelect>
  809.         <showLines> <false /> </showLines>
  810.         <wideMargins> <true /> </wideMargins>
  811.         <multipleLines> <false /> </multipleLines>
  812.         <reservedFamily> 0 </reservedFamily>
  813.         <titleWidth>0</titleWidth>
  814.         <icon>0</icon>
  815.         <textAlign>left</textAlign>
  816.         <font>Geneva</font>
  817.         <textSize>12</textSize>
  818.         <textStyle>condense</textStyle>
  819.         <textHeight>16</textHeight>
  820.         <name></name>
  821.         <script></script>
  822.     </part>
  823.     <part>
  824.         <id>79</id>
  825.         <type>button</type>
  826.         <visible> <false /> </visible>
  827.         <reserved5> 0 </reserved5>
  828.         <reserved4> 0 </reserved4>
  829.         <reserved3> 0 </reserved3>
  830.         <reserved2> 0 </reserved2>
  831.         <reserved1> 0 </reserved1>
  832.         <enabled> <true /> </enabled>
  833.         <rect>
  834.             <left>29</left>
  835.             <top>275</top>
  836.             <right>129</right>
  837.             <bottom>297</bottom>
  838.         </rect>
  839.         <style>roundrect</style>
  840.         <showName> <true /> </showName>
  841.         <highlight> <false /> </highlight>
  842.         <autoHighlight> <false /> </autoHighlight>
  843.         <sharedHighlight> <true /> </sharedHighlight>
  844.         <family>0</family>
  845.         <titleWidth>0</titleWidth>
  846.         <icon>0</icon>
  847.         <textAlign>center</textAlign>
  848.         <font>Chicago</font>
  849.         <textSize>12</textSize>
  850.         <textStyle>plain</textStyle>
  851.         <name></name>
  852.         <script>------------------------------on promptIt whichPictif there is no window whichPict thenpicture whichPict,resource,dialog,false,0,true -- ‚àÜXget trunc((width of cd window-pictureWidth of window whichPict)/2)&","&trunc((height of cd window-pictureHeight of window whichPict)/2)set the loc of window whichPict to itshow window whichPictelse close window whichPictend promptIt</script>
  853.     </part>
  854.     <part>
  855.         <id>113</id>
  856.         <type>field</type>
  857.         <visible> <true /> </visible>
  858.         <dontWrap> <false /> </dontWrap>
  859.         <dontSearch> <false /> </dontSearch>
  860.         <sharedText> <false /> </sharedText>
  861.         <fixedLineHeight> <true /> </fixedLineHeight>
  862.         <autoTab> <true /> </autoTab>
  863.         <lockText> <false /> </lockText>
  864.         <rect>
  865.             <left>17</left>
  866.             <top>125</top>
  867.             <right>282</right>
  868.             <bottom>261</bottom>
  869.         </rect>
  870.         <style>transparent</style>
  871.         <autoSelect> <false /> </autoSelect>
  872.         <showLines> <true /> </showLines>
  873.         <wideMargins> <true /> </wideMargins>
  874.         <multipleLines> <false /> </multipleLines>
  875.         <reservedFamily> 0 </reservedFamily>
  876.         <titleWidth>0</titleWidth>
  877.         <icon>0</icon>
  878.         <textAlign>left</textAlign>
  879.         <font>Geneva</font>
  880.         <textSize>12</textSize>
  881.         <textStyle>condense</textStyle>
  882.         <textHeight>16</textHeight>
  883.         <name></name>
  884.         <script></script>
  885.     </part>
  886.     <part>
  887.         <id>114</id>
  888.         <type>button</type>
  889.         <visible> <true /> </visible>
  890.         <reserved5> 0 </reserved5>
  891.         <reserved4> 0 </reserved4>
  892.         <reserved3> 0 </reserved3>
  893.         <reserved2> 0 </reserved2>
  894.         <reserved1> 0 </reserved1>
  895.         <enabled> <true /> </enabled>
  896.         <rect>
  897.             <left>298</left>
  898.             <top>178</top>
  899.             <right>392</right>
  900.             <bottom>196</bottom>
  901.         </rect>
  902.         <style>transparent</style>
  903.         <showName> <true /> </showName>
  904.         <highlight> <false /> </highlight>
  905.         <autoHighlight> <true /> </autoHighlight>
  906.         <sharedHighlight> <true /> </sharedHighlight>
  907.         <family>0</family>
  908.         <titleWidth>0</titleWidth>
  909.         <icon>0</icon>
  910.         <textAlign>center</textAlign>
  911.         <font>Paris</font>
  912.         <textSize>12</textSize>
  913.         <textStyle>plain</textStyle>
  914.         <name>Corriger...</name>
  915.         <script>on mouseUpset cursor to 4open "V√©rifSaisieCarte"end mouseUp</script>
  916.     </part>
  917.     <part>
  918.         <id>15</id>
  919.         <type>button</type>
  920.         <visible> <true /> </visible>
  921.         <reserved5> 0 </reserved5>
  922.         <reserved4> 0 </reserved4>
  923.         <reserved3> 0 </reserved3>
  924.         <reserved2> 0 </reserved2>
  925.         <reserved1> 0 </reserved1>
  926.         <enabled> <true /> </enabled>
  927.         <rect>
  928.             <left>363</left>
  929.             <top>221</top>
  930.             <right>405</right>
  931.             <bottom>259</bottom>
  932.         </rect>
  933.         <style>transparent</style>
  934.         <showName> <false /> </showName>
  935.         <highlight> <false /> </highlight>
  936.         <autoHighlight> <true /> </autoHighlight>
  937.         <sharedHighlight> <true /> </sharedHighlight>
  938.         <family>0</family>
  939.         <titleWidth>0</titleWidth>
  940.         <icon>18222</icon>
  941.         <textAlign>center</textAlign>
  942.         <font>Chicago</font>
  943.         <textSize>12</textSize>
  944.         <textStyle>plain</textStyle>
  945.         <name>6</name>
  946.         <script>on mouseUplock screenset scroll of cd fld "Infos" to 0show cd fld "Infos"unlock screen with visual zoom openend mouseUpUne telle formulation qui verrouille l'affichage √©cran pour le d√©verrouillerensuite avec un effet visuel est souvent plus commode √† utiliser dansun script de navigation que la formulation classique :visual <effet>go etc‚ĶElle permet de r√©aliser toutes op√©rations interm√©diaires de fa√ßon invisiblepour l'utilisateur : ici la remise √† 0 du scroll du champ.</script>
  947.     </part>
  948.     <part>
  949.         <id>16</id>
  950.         <type>field</type>
  951.         <visible> <false /> </visible>
  952.         <dontWrap> <false /> </dontWrap>
  953.         <dontSearch> <false /> </dontSearch>
  954.         <sharedText> <false /> </sharedText>
  955.         <fixedLineHeight> <false /> </fixedLineHeight>
  956.         <autoTab> <false /> </autoTab>
  957.         <lockText> <true /> </lockText>
  958.         <rect>
  959.             <left>6</left>
  960.             <top>4</top>
  961.             <right>407</right>
  962.             <bottom>265</bottom>
  963.         </rect>
  964.         <style>scrolling</style>
  965.         <autoSelect> <false /> </autoSelect>
  966.         <showLines> <false /> </showLines>
  967.         <wideMargins> <true /> </wideMargins>
  968.         <multipleLines> <false /> </multipleLines>
  969.         <reservedFamily> 0 </reservedFamily>
  970.         <titleWidth>0</titleWidth>
  971.         <icon>0</icon>
  972.         <textAlign>left</textAlign>
  973.         <font>Geneva</font>
  974.         <textSize>12</textSize>
  975.         <textStyle>condense</textStyle>
  976.         <textHeight>15</textHeight>
  977.         <name>Infos</name>
  978.         <script>on mouseUplock screenhide meunlock screen with visual zoom closeend mouseUp</script>
  979.     </part>
  980.     <part>
  981.         <id>123</id>
  982.         <type>field</type>
  983.         <visible> <false /> </visible>
  984.         <dontWrap> <false /> </dontWrap>
  985.         <dontSearch> <false /> </dontSearch>
  986.         <sharedText> <false /> </sharedText>
  987.         <fixedLineHeight> <true /> </fixedLineHeight>
  988.         <autoTab> <true /> </autoTab>
  989.         <lockText> <false /> </lockText>
  990.         <rect>
  991.             <left>77</left>
  992.             <top>54</top>
  993.             <right>342</right>
  994.             <bottom>190</bottom>
  995.         </rect>
  996.         <style>scrolling</style>
  997.         <autoSelect> <false /> </autoSelect>
  998.         <showLines> <false /> </showLines>
  999.         <wideMargins> <true /> </wideMargins>
  1000.         <multipleLines> <false /> </multipleLines>
  1001.         <reservedFamily> 0 </reservedFamily>
  1002.         <titleWidth>0</titleWidth>
  1003.         <icon>0</icon>
  1004.         <textAlign>left</textAlign>
  1005.         <font>Geneva</font>
  1006.         <textSize>12</textSize>
  1007.         <textStyle>condense</textStyle>
  1008.         <textHeight>16</textHeight>
  1009.         <name></name>
  1010.         <script></script>
  1011.     </part>
  1012.     <content>
  1013.         <layer>card</layer>
  1014.         <id>16</id>
  1015.         <text><span class="style1">apez </span><span class="style4">‚åò</span><span class="style1"> - P pour imprimer cet article.</span><span class="style2">La correction orthographique, syntaxique et grammaticale dans HyperCard gr√¢ce √† Sans-Faute/Grammaire !</span><span class="style1">Sans-Faute/Grammaire est une application enti√®rement "scriptable" : elle reconna√Æt tous les Apple Events ex√©cut√©s via AppleScript. C'est la derni√®re version (2.05) l√©g√®rement limit√©e de Sans-Faute qui est disponible sur le CD-Rom.Pour que la correction fonctionne dans une pile HyperCard, il convient que </span><span class="style2">toutes</span><span class="style1"> les conditions suivantes soient remplies :-¬†Syst√®me 7.x-¬†AppleScript 1.1 ou ult√©rieur install√© (VF ou US)-¬†HyperCard 2.2 ou ult√©rieur (VF ou US)Vous noterez (c'est important) que la correction respecte les enrichissements du texte¬†: </span><span class="style4">police</span><span class="style1">, </span><span class="style211">corps</span><span class="style1">, </span><span class="style212">style</span><span class="style1">, etc‚Ķ.Lors du premier appel, il est normal que les localisations (via un dialogue standard) de Sans-Faute/Grammaire, de l'applet nomm√© V√©rifSaisieCarte et de votre HyperCard (bien qu'il soit ouvert), vous soient r√©clam√©es. Ensuite, ces chemins d'acc√®s resteront m√©moris√©s.Si cela ne fonctionne pas, cela signifie qu'une des conditions obligatoires d√©crites ci-dessus n'est pas remplie correctement : je vous promets que √ßa marche impeccablement !</span><span class="style2">Nota</span><span class="style1"> : quand vous quitterez la pr√©sente carte, le texte d'origine sera restaur√©‚Ķ avec ses fautes. Pour des tests significatifs, transf√©rez sur votre disque dur cette pile et le dossier de "Sans-Faute/Grammaire".Vous pouvez √©videmment saisir dans le champ d'exemple tout ce qui vous passe par la t√™te et exp√©rimenter comment "Sans-Faute" r√©agit.</span><span class="style2">Comment cela fonctionne-t-il ?</span><span class="style1">Je n'entrerai pas trop dans les d√©tails afin de rester simple m√™me pour des utilisateurs encore peu avertis. Sachez que tout se passe via les Apple Events : vous trouverez cinq "Applets" (applications AppleScript) dans le dossier de Sans-Faute √©crits pour r√©pondre aux cas de figures les plus courants :-</span><span class="style2">¬†V√©rifCarte</span><span class="style1"> ne corrige que les champs de la </span><span class="style2">carte</span><span class="style1"> courante qui sont visibles et </span><span class="style188">ne sont pas exclus de la recherche</span><span class="style1">, qu'ils soient de carte ou de fond s'ils existent.-</span><span class="style2">¬†V√©rifSaisieCarte</span><span class="style1"> (utilis√© dans la d√©monstration) ne corrige que les champs de la </span><span class="style2">carte</span><span class="style1"> courante qui sont visibles et </span><span class="style188">ne sont pas verrouill√©s</span><span class="style1">, qu'ils soient de carte ou de fond s'ils existent.‚Äî </span><span class="style2">V√©rifPile</span><span class="style1"> ne corrige que les champs de la </span><span class="style2">pile</span><span class="style1"> courante qui sont visibles et </span><span class="style188">ne sont pas exclus de la recherche</span><span class="style1">, qu'ils soient de carte ou de fond s'ils existent.‚Äî </span><span class="style2">V√©rifSaisiePile</span><span class="style1"> ne corrige que les champs de la </span><span class="style2">pile</span><span class="style1"> courante qui sont visibles et </span><span class="style188">ne sont pas verrouill√©s</span><span class="style1">, qu'ils soient de carte ou de fond s'ils existent.‚Äî </span><span class="style2">¬†QuitSF</span><span class="style1"> ferme Sans-Faute/Grammaire.Si d'autres cas de figure vous int√©ressent et que vous n'arrivez pas √† les √©crire, faites m'en part via la revue qui me les transmettra : j'y r√©pondrai dans le Forum d'un prochain num√©ro.</span><span class="style2">Comment appeler ces applets pour mettre en ≈ìuvre "Sans Faute" dans votre pile ?</span><span class="style1">La mani√®re est tr√®s simple (voyez le script du bouton "Corriger"). Il suffit d'ouvrir l'applet </span><span class="style188">qui est une application</span><span class="style1"> en utilisant la commande open :Par exemple :</span><span class="style3">  on mouseUp -- clic sur un bouton    open "V√©rifSaisieCarte"  end mouseUp  on doMenu -- via un article de menu    get param(1)    if it = "Corriger toutes les saisies..." then      open "V√©rifSaisiePile"    else if it = "xxxx" then -- les autres articles d√©finis      </span><span class="style214">instructions</span><span class="style3">    else pass doMenu  end doMenu</span><span class="style1">Vous changerez le nom de l'applet suivant le r√©sultat escompt√©.Pour fermer automatiquement Sans-Faute √† la fermeture de la pile, la solution la plus simple passe pas l'usage de l'applet QuitSF, fourni dans le dossier "Scripts HyperCard" :</span><span class="style6"></span><span class="style3">  on closeStack    if "Sans-Faute" is in the programs then open "QuitSF"  end closeStack  -- voyez le dernier handler du script du fond o√π une  -- autre formulation est employ√©e afin de rester compatible  -- avec les versions 2.0 d'HyperCard pour ce qui est du  -- reste de la pile</span><span class="style1"></span><span class="style2">Notes pour les utilisateurs avan√ß√©s : se passer des applets et tout int√©grer dans la pile en AppleScript</span><span class="style1">Il est √©videmment bien tentant d'√©crire directement quelques scripts en AppleScript dans la pile elle-m√™me afin de se passer de tout applet. C'est facile √† condition de bien pr√©ciser le langage dans le menu local en partie haute de la fen√™tre du script concern√© : AppleScript.Par exemple, pour corriger tous les champs non exlus des recherches de la pile courante :</span><span class="style3">  on checkText()      set CardNum to 1      repeat number of card times          go card CardNum          set CardNum to CardNum + 1          set num to 1          repeat number of card field times              if not dontSearch of card field num then                  set texttoCheck to card field num as styled text                  tell application "Sans-Faute/Grammaire 2.05"                      set textchecked to Checking texttoCheck                  end tell                  set card field num to textchecked              end if              set num to num + 1          end repeat          set num to 1          repeat number of background field times              if not dontSearch of background field num then                set texttoCheck to background field num¬¨       as styled text                tell application "Sans-Faute/Grammaire 2.05"                    set textchecked to Checking texttoCheck                end tell          set background field num to textchecked        end if              set num to num + 1          end repeat      end repeat  end checkText</span><span class="style1">Cette proc√©dure sera appel√© de la fa√ßon suivante (en HyperTalk cette fois) :</span><span class="style3">  on mouseUp -- ou toute autre forme d'appel    set cursor to 4    push cd -- la proc√©dure ci-dessus corrige toute la pile    send checkText to bg btn id 14    pop cd -- r√©affiche la carte de d√©part    answer "Correction termin√©e."  end mouseUp</span><span class="style1">Le bouton de fond ID 14 accueille la proc√©dure </span><span class="style3">checkText()</span><span class="style1"> en AppleScript et ce bouton est cach√©. Une telle proc√©dure fonctionne mais pose un probl√®me si l'utilisateur clique sur "Stop" en cours de correction : Dans le cas de l'applet, celui-ci est automatiquement referm√© et les Apple Events en attente dans la boucle √©v√©nementielle ignor√©s alors que ce n'est pas le cas dans la pile courante : AppleScript envoie √† HyperCard un message d'erreur : <nom de l'application> got an error : User canceled out of wait loop for reply or receipt.Tourner cette difficult√© est simple. Ajoutez dans le script de la pile (par exemple) :</span><span class="style3">  on errorDialog    if "Sans-Faute" is in param(1) then      pop cd -- r√©affiche la carte de d√©part      answer "Correction interrompue : aucune faute"¬¨      &&"n'a √©t√© corrig√©e."    else pass errorDialog  end errorDialog</span><span class="style1">Et dans le handler d'appel √† la correction d√©j√† indiqu√© ci-dessus, ajoutez la ligne de code en gras ci-dessous :</span><span class="style3">  on mouseUp    set cursor to 4    </span><span class="style160">lock error dialogs</span><span class="style3">    push cd    send checkText to bg btn id 14    pop cd    answer "Correction termin√©e."  end mouseUp</span><span class="style210"></span><span class="style1">Avec une telle formulation, le curseur prendra la forme de la montre jusqu'√† l'apparition de la fen√™tre de correction, et, √† la fin du processus, la carte de d√©part sera toujours r√©affich√©e. Enfin une alerte, suivant la situation, sera √©galement affich√©e : -¬†"Correction termin√©e."-¬†"Correction interrompue : aucune faute n'a √©t√© corrig√©e."Peut-on imaginer plus transparent pour l'utilisateur !L'avantage de l'int√©gration, outre le fait de ne pas multiplier les fichiers annexes, r√©side dans sa plus grande souplesse. Vous pouvez alors envisager, par exemple, la v√©rification automatique d'un masque de saisie avant la fermeture de la carte courante : </span><span class="style3">  on mouseUp    </span><span class="style214">instructions pr√©alables</span><span class="style3">    send checkUserText to bg btn id 4    </span><span class="style214">instructions de r√©tablissement</span><span class="style3">    go next  end mouseUp</span><span class="style212">Instructions pr√©alables</span><span class="style1"> pourra consister en une ou plusieurs lignes de code qui viseront par exemple √† modifier provisoirement les propri√©t√©s de certains champs du masque afin de ne pas les prendre en compte lors de la correction :-¬†Ceux accueillant un patronyme.-¬†Ceux qui seront pr√©alablement test√©s en HyperTalk : la bonne saisie d'un code postal en 5 chiffres sans espaces, par exemple.Etc‚Ķ</span><span class="style212">Instructions de r√©tablissement</span><span class="style1"> remettra les propri√©t√©s modifi√©es des champs dans leur √©tat ant√©rieur.Une proc√©dure aussi fine n'est pas possible via la mise en ≈ìuvre des applets car HyperCard n'envoie </span><span class="style2">aucun message sp√©cifique</span><span class="style1"> (tel </span><span class="style2">resume</span><span class="style1">) lors de la fermeture de la fen√™tre de correction.En revanche, si la proc√©dure est int√©gr√©e dans la pile, le message </span><span class="style2">go next</span><span class="style6">, par exemple,</span><span class="style1"> sera envoy√© et ex√©cut√© d√®s la correction termin√©e et l'environnement r√©tabli.Vous imaginez tous les horizons qui s'ouvrent‚ĶPour fermer "Sans-Faute/Grammaire" √† la fermeture de la pile. Il suffit d'√©crire (toujours en AppleScript) dans le script du m√™me bouton de fond cach√© :</span><span class="style3">  on closeSF()      set cursor to 4      tell application "Sans-Faute/Grammaire 2.05" to quit  end closeSF</span><span class="style1">Et dans le handler closeStack :</span><span class="style3">    on closeStack    if "Sans-Faute" is in the programs    then send closeSF to bg btn id 14    </span><span class="style214">autres instructions</span><span class="style3">  end closeStack</span><span class="style1"></span><span class="style2">Nota</span><span class="style1"> : bien que l'impl√©mentation des ressources </span><span class="style2">aete</span><span class="style1"> existe dans la version 2.05 de Sans-Faute, pr√©f√©rez la formule ci-dessus plus s√ªre.</span><span class="style3"></span><span class="style1">Vous trouverez la pile </span><span class="style2">Pile d'exemple</span><span class="style1"> dans le dossier "Pour HyperCard" de "Sans-Faute/Grammaire" sur le CD-Rom : toute la programmation AppleScript ci-dessus et d'autres "features" int√©ressants y sont directement op√©rationnels (sous syst√®me 7,  avec HC 2.2/2.3 et AppleScript 1.1 install√©s).</span><span class="style2"></span><span class="style3"></span><span class="style2">Annexe importante</span><span class="style1"> : n'oubliez jamais que le compactage d'une pile comportant des scripts en AppleScript, s'il est effectu√© avec une version ant√©rieure √† 2.2, aboutit √† la suppression pure et simple des scripts √©crits en AppleScript : testez donc toujours la version avant‚Ķ s'il ne s'agit pas d'une pile transform√©e en application avec une version d'HC post√©rieure √† 2.1.Finalement, avec toutes ces explications, vous verrez : c'est (relativement) simple !Mieux, vous allez le faire‚Ķ  : c'est excellent pour l'entretien des neurones.Notez bien que </span><span class="style2">Sans-Faute est un logiciel commercial</span><span class="style1">, qui si vous disposez de la cl√© le rendant totalement op√©rationnel (apr√®s paiement), ne peut absolument pas √™tre distribu√© avec vos piles dans cet √©tat. Dans un tel cas, joignez l'√©diteur BCDL (voir les documents annexes) afin d'obtenir une licence ad√©quate ou joignez la version non d√©verrouill√©e (avec tous ses documents d'accompagnement), dont la diffusion est encourag√©e par l'√©diteur.</span><span class="style212">P.S. D√©verrouillez ce champ pour copier les proc√©dures si besoin.</span><span class="style213"></span></text>
  1016.     </content>
  1017.     <content>
  1018.         <layer>card</layer>
  1019.         <id>85</id>
  1020.         <text><span class="style2"></span><span class="style44">Corriger l'orthographe, la syntaxe et la grammaire dans HyperCard gr√¢ce √† "Sans-Faute"</span><span class="style1">Dans le n¬∫ de septembre, j'appelais de mes v≈ìux cette possibilit√© : voil√† qui est chose faite √† certaines conditions. Voyez les explications‚Ķ</span></text>
  1021.     </content>
  1022.     <content>
  1023.         <layer>card</layer>
  1024.         <id>115</id>
  1025.         <text>Chatonet√âric44Masculin49, rue Claude Bernard75005Paris</text>
  1026.     </content>
  1027.     <content>
  1028.         <layer>card</layer>
  1029.         <id>113</id>
  1030.         <text><span class="style1">a mer est jollie quand elle est d√©mont√© et les textes pareilement‚Ķ</span><span class="style2">Vous pensez qu'il suffid d'un correcteur, m√™me dou√©, pour √©viter les faute : vous avez presque bien raisonn !</span><span class="style1"></span><span class="style209">Mais n'en abusez pas‚Ķ :  Il y a des ca‚Ķ o√π il ne fot pas √©xag√©rer quant m√™me.</span></text>
  1031.     </content>
  1032.     <content>
  1033.         <layer>card</layer>
  1034.         <id>123</id>
  1035.         <text><span class="style1">a mer est jollie quand elle est d√©mont√© et les textes pareilement‚Ķ</span><span class="style2">Vous pensez qu'il suffid d'un correcteur, m√™me dou√©, pour √©viter les faute : vous avez presque bien raisonn !</span><span class="style1"></span><span class="style209">Mais n'en abusez pas‚Ķ :</span><span class="style1">  Il y a des ca‚Ķ o√π il ne fot pas √©xag√©rer quant m√™me.</span></text>
  1036.     </content>
  1037.     <name></name>
  1038.     <script>on openCardset the userModify to trueput empty into promptput (the version < 2.2) into VFlagput not getManager(AppleEvents) into AFlagput (there is no menu "application") into SFlagif VFlag then put "‚Ä¢¬†HC 2.2 ou ult√©rieur."&return after promptif AFlag then put "‚Ä¢¬†AppleScript 1.1 ou ult√©rieur."&return after promptif SFlag then put "‚Ä¢¬†Syst√®me 7."&return after promptif prompt ‚↠empty thenbeepanswer "La ou les conditions suivantes ne sont pas remplies pour pouvoir effectuer la correction dans HyperCard :"&return&return&prompt with "D√©sol√©"set the textSize of btn id 114 to 14else set the textSize of btn id 114 to 12end openCard------------------------------------------------------------------------on closeCardlock screenput cd fld id 123 into cd fld id 113set the textStyle of line 2 of cd fld id 113 to "bold,condense"set the textFont of line 3 of cd fld id 113 to "New York"set the textStyle of line 3 of cd fld id 113 to "italic"hide cd fld "Infos"pass closeCardend closeCard</script>
  1039. </card>
  1040.  
  1041.  
  1042. card_4868.xml
  1043. <?xml version="1.0" encoding="utf-8" ?>
  1044. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  1045. <card>
  1046.     <id>4868</id>
  1047.     <filler1>0</filler1>
  1048.     <bitmap>BMAP_4422.pbm</bitmap>
  1049.     <cantDelete> <false /> </cantDelete>
  1050.     <showPict> <true /> </showPict>
  1051.     <dontSearch> <false /> </dontSearch>
  1052.     <owner>2723</owner>
  1053.     <marked><true /></marked>
  1054.     <link rel="stylesheet" type="text/css" href="stylesheet_3174.css" />
  1055.     <part>
  1056.         <id>1</id>
  1057.         <type>field</type>
  1058.         <visible> <true /> </visible>
  1059.         <dontWrap> <false /> </dontWrap>
  1060.         <dontSearch> <false /> </dontSearch>
  1061.         <sharedText> <false /> </sharedText>
  1062.         <fixedLineHeight> <false /> </fixedLineHeight>
  1063.         <autoTab> <false /> </autoTab>
  1064.         <lockText> <true /> </lockText>
  1065.         <rect>
  1066.             <left>6</left>
  1067.             <top>4</top>
  1068.             <right>407</right>
  1069.             <bottom>222</bottom>
  1070.         </rect>
  1071.         <style>scrolling</style>
  1072.         <autoSelect> <false /> </autoSelect>
  1073.         <showLines> <false /> </showLines>
  1074.         <wideMargins> <true /> </wideMargins>
  1075.         <multipleLines> <false /> </multipleLines>
  1076.         <reservedFamily> 0 </reservedFamily>
  1077.         <titleWidth>0</titleWidth>
  1078.         <icon>0</icon>
  1079.         <textAlign>left</textAlign>
  1080.         <font>Geneva</font>
  1081.         <textSize>12</textSize>
  1082.         <textStyle>condense</textStyle>
  1083.         <textHeight>16</textHeight>
  1084.         <name>Infos</name>
  1085.         <script></script>
  1086.     </part>
  1087.     <part>
  1088.         <id>7</id>
  1089.         <type>button</type>
  1090.         <visible> <true /> </visible>
  1091.         <reserved5> 0 </reserved5>
  1092.         <reserved4> 0 </reserved4>
  1093.         <reserved3> 0 </reserved3>
  1094.         <reserved2> 0 </reserved2>
  1095.         <reserved1> 0 </reserved1>
  1096.         <enabled> <true /> </enabled>
  1097.         <rect>
  1098.             <left>7</left>
  1099.             <top>219</top>
  1100.             <right>390</right>
  1101.             <bottom>231</bottom>
  1102.         </rect>
  1103.         <style>opaque</style>
  1104.         <showName> <false /> </showName>
  1105.         <highlight> <false /> </highlight>
  1106.         <autoHighlight> <false /> </autoHighlight>
  1107.         <sharedHighlight> <true /> </sharedHighlight>
  1108.         <family>0</family>
  1109.         <titleWidth>0</titleWidth>
  1110.         <icon>0</icon>
  1111.         <textAlign>center</textAlign>
  1112.         <font>Chicago</font>
  1113.         <textSize>12</textSize>
  1114.         <textStyle>plain</textStyle>
  1115.         <name></name>
  1116.         <script></script>
  1117.     </part>
  1118.     <part>
  1119.         <id>8</id>
  1120.         <type>button</type>
  1121.         <visible> <true /> </visible>
  1122.         <reserved5> 0 </reserved5>
  1123.         <reserved4> 0 </reserved4>
  1124.         <reserved3> 0 </reserved3>
  1125.         <reserved2> 0 </reserved2>
  1126.         <reserved1> 0 </reserved1>
  1127.         <enabled> <true /> </enabled>
  1128.         <rect>
  1129.             <left>145</left>
  1130.             <top>232</top>
  1131.             <right>266</right>
  1132.             <bottom>250</bottom>
  1133.         </rect>
  1134.         <style>transparent</style>
  1135.         <showName> <true /> </showName>
  1136.         <highlight> <false /> </highlight>
  1137.         <autoHighlight> <true /> </autoHighlight>
  1138.         <sharedHighlight> <true /> </sharedHighlight>
  1139.         <family>0</family>
  1140.         <titleWidth>0</titleWidth>
  1141.         <icon>0</icon>
  1142.         <textAlign>center</textAlign>
  1143.         <font>Chicago</font>
  1144.         <textSize>12</textSize>
  1145.         <textStyle>plain</textStyle>
  1146.         <name>D√©monstration</name>
  1147.         <script>on mouseUpglobal order,loopNumif the version ‚â• 2.1 then stopErrors -- ‚àÜput empty into orderput 0 into loopNumset cursor to 4repeat 10departureOrder -- ‚àÜend repeatput loopNum&&"appels √† la r√©cursivit√© effectu√©s."answer "Ordre al√©atoire de d√©part de dix √©quipes :"&return&return&orderend mouseUp-------------------------------------------------------------on departureOrderglobal order,loopNumget random(10)repeat with i = 1 to the number of words of orderif it = word i of order thenadd 1 to loopNumdepartureOrder -- r√©cursivit√©exit departureOrderend ifend repeatput it&return after orderend departureOrder-------------------------------------------------------------on stopErrorsset lockErrorDialogs to trueend stopErrors</script>
  1148.     </part>
  1149.     <content>
  1150.         <layer>card</layer>
  1151.         <id>1</id>
  1152.         <text><span class="style2"></span><span class="style44">La r√©cursivit√©</span><span class="style1"></span><span class="style71">  </span><span class="style1">Tapez </span><span class="style4">‚åò</span><span class="style1"> - P pour imprimer cet article.Il vous est peut-√™tre d√©j√† arriv√© de voir s'afficher le message d'alerte "Trop de boucles" (too much recursion) : vous aviez probablement √©crit une proc√©dure s'appelant elle-m√™me un nombre infini de fois.La </span><span class="style2">r√©cursivit√©</span><span class="style1"> est la capacit√© d'une proc√©dure √† s'appeler elle-m√™me. Avec les premi√®res version d'HyperCard, cette capacit√© √©tait limit√©e √† six boucles. Depuis HyperCard 2.1, il n'y a plus de vraie limite mais, dans la pratique, il ne convient pas de d√©passer une vingtaine d'appels.Ce type de proc√©dure est souvent commode et √©l√©gant. Elle s'√©crira suivant le principe suivant :</span><span class="style189"></span><span class="style3">  on </span><span class="style160">mouseUp</span><span class="style3"> myParam    if myParam = empty then      -- c'est forc√©ment le premier appel      if <condition> then        </span><span class="style160">mouseUp</span><span class="style3"> true        -- <condition> pourra par exemple r√©clamer        -- un choix √† l'utilisateur      else </span><span class="style160">mouseUp</span><span class="style3"> false    else if myParam then      </span><span class="style214">instructions</span><span class="style3">    else      </span><span class="style214">instructions</span><span class="style3">    end if  end </span><span class="style160">mouseUp</span><span class="style3"></span><span class="style1">L'exemple a √©t√© choisi √† dessein : oui, il est possible de param√©trer un message syst√®me !</span><span class="style2">Exemple : calculer l'ordre de d√©part de plusieurs √©quipes de fa√ßon al√©atoire</span><span class="style1">Pour aboutir √† un r√©sultat correct, vous ne pouvez effectuer un simple tirage al√©atoire : la m√™me √©quipe risquerait d'√™tre nomm√©e plusieurs fois et d'autres laiss√©es au vestiaire !Vous pouvez √©crire cela en HyperTalk de la fa√ßon suivante :</span><span class="style189"></span><span class="style3">  function departureOrder    set cursor to 4    repeat      put random(param(1))&return after temp      repeat with i = 1 to the number of lines of temp        repeat with j = the number of lines of temp¬¨          down to (i+1)          if line i of temp = line j of temp          then delete line j of temp        end repeat      end repeat      if the number of lines of temp = param(1)      then exit repeat    end repeat    return temp  end departureOrder</span><span class="style1">Et l'appel s'√©crira, par exemple :</span><span class="style3">  put departureOrder(10) into cd fld id 1  -- pour 10 √©quipes</span><span class="style1">Une telle √©criture est correcte mais vous vous apercevrez vite qu'au del√† d'un dizaine d'√©quipes √† classer, si HyperCard ne rechigne pas, le temps de calcul peut tr√®s vite demander plusieurs heures‚ĶMais vous pouvez aussi utiliser les capacit√©s de r√©cursivit√© d'HyperCard avec √©l√©gance tant que le nombre d'√©quipes n'est pas trop important :</span><span class="style3">  on mouseUp    global order    put empty into order    set cursor to 4    repeat 10      departureOrder -- ‚àÜ    end repeat    answer "Ordre de d√©part des 10 √©quipes :"&return¬¨    &return&order  end mouseUp  -----------------------------------------------------------  on departureOrder    global order    get random(10)    repeat with i = 1 to the number of words of order      if it = word i of order then        </span><span class="style160">departureOrder</span><span class="style3"> -- r√©cursivit√©        exit departureOrder      end if    end repeat    put it&return after order  end departureOrder</span><span class="style1">Une telle formulation r√©cursive est beaucoup plus rapide d'ex√©cution que la pr√©c√©dente : de 10 √† 20 fois environ !En revanche, elle n'est gu√®re fiable au del√† d'un tirage de 5 √† 6 √©quipes¬†: √ßa passe ou √ßa ne passe pas en fonction du nombre d'appels r√©cursifs n√©cessaires (qui d√©pendent d'un tirage al√©atoire). Pass√© un certain nombre d'appels r√©cursifs (une vingtaine d'appels </span><span class="style188">identiques successifs</span><span class="style1"> dans la pratique), HyperCard retourne un message d'erreur (too many nested repeats).Testez la d√©monstration plusieurs fois de suite et √©tudiez le script du bouton.Cela n'enl√®ve rien √† la qualit√© et √† l'√©l√©gance de la programmation r√©cursive qui peut √™tre appliqu√©e en de nombreuses occasions de fa√ßon s√ªre, notamment quand le nombre d'appels r√©cursifs peut √™tre ma√Ætris√©, ce qui est toujours le cas sauf quand la fonction random, comme ici, est utilis√©e.</span><span class="style212">En compl√©ment √† cet article rapide, voyez les excellentes contributions HyperCard de J.P. Wendt  (CD-Rom n¬∫51) et Olivier Vall√©e (CD-Rom n¬∫45), largement document√©es.</span><span class="style1"></span></text>
  1153.     </content>
  1154.     <name></name>
  1155.     <script>on closeCardlock screenif visible of msg thenput emptyhide msgend ifpass closeCardend closeCard------------------------------------------------------------------------function departureOrderset cursor to 4repeatput random(param(1))&return after temprepeat with i = 1 to the number of lines of temprepeat with j = the number of lines of temp¬¨down to (i+1)if line i of temp = line j of tempthen delete line j of tempend repeatend repeatif the number of lines of temp = param(1) then exit repeatend repeatreturn tempend departureOrder-------------------------------------------------------------on errorDialoganswer "Trop d'appels √† la r√©cursivit√© dans cet essai :"&return&"Voyez l'article."end errorDialog</script>
  1156. </card>
  1157.  
  1158.  
  1159. card_2958.xml
  1160. <?xml version="1.0" encoding="utf-8" ?>
  1161. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  1162. <card>
  1163.     <id>2958</id>
  1164.     <filler1>0</filler1>
  1165.     <bitmap>BMAP_2262.pbm</bitmap>
  1166.     <cantDelete> <false /> </cantDelete>
  1167.     <showPict> <false /> </showPict>
  1168.     <dontSearch> <false /> </dontSearch>
  1169.     <owner>2723</owner>
  1170.     <link rel="stylesheet" type="text/css" href="stylesheet_3174.css" />
  1171.     <part>
  1172.         <id>35</id>
  1173.         <type>button</type>
  1174.         <visible> <true /> </visible>
  1175.         <reserved5> 0 </reserved5>
  1176.         <reserved4> 0 </reserved4>
  1177.         <reserved3> 0 </reserved3>
  1178.         <reserved2> 0 </reserved2>
  1179.         <reserved1> 0 </reserved1>
  1180.         <enabled> <true /> </enabled>
  1181.         <rect>
  1182.             <left>0</left>
  1183.             <top>0</top>
  1184.             <right>12</right>
  1185.             <bottom>12</bottom>
  1186.         </rect>
  1187.         <style>transparent</style>
  1188.         <showName> <true /> </showName>
  1189.         <highlight> <false /> </highlight>
  1190.         <autoHighlight> <false /> </autoHighlight>
  1191.         <sharedHighlight> <true /> </sharedHighlight>
  1192.         <family>0</family>
  1193.         <titleWidth>0</titleWidth>
  1194.         <icon>0</icon>
  1195.         <textAlign>center</textAlign>
  1196.         <font>Chicago</font>
  1197.         <textSize>12</textSize>
  1198.         <textStyle>plain</textStyle>
  1199.         <name></name>
  1200.         <script>on mouseUpif the optionKey = down thenrepeat with i = 1 to 5set the lockText of cd fld i to not the lockText of cd fld iset the visible of btn (i+1) to the lockText of cd fld iend repeatend ifend mouseUp</script>
  1201.     </part>
  1202.     <part>
  1203.         <id>20</id>
  1204.         <type>field</type>
  1205.         <visible> <false /> </visible>
  1206.         <dontWrap> <false /> </dontWrap>
  1207.         <dontSearch> <false /> </dontSearch>
  1208.         <sharedText> <false /> </sharedText>
  1209.         <fixedLineHeight> <true /> </fixedLineHeight>
  1210.         <autoTab> <false /> </autoTab>
  1211.         <lockText> <true /> </lockText>
  1212.         <rect>
  1213.             <left>6</left>
  1214.             <top>5</top>
  1215.             <right>404</right>
  1216.             <bottom>51</bottom>
  1217.         </rect>
  1218.         <style>transparent</style>
  1219.         <autoSelect> <false /> </autoSelect>
  1220.         <showLines> <false /> </showLines>
  1221.         <wideMargins> <false /> </wideMargins>
  1222.         <multipleLines> <false /> </multipleLines>
  1223.         <reservedFamily> 0 </reservedFamily>
  1224.         <titleWidth>0</titleWidth>
  1225.         <icon>0</icon>
  1226.         <textAlign>right</textAlign>
  1227.         <font>Geneva</font>
  1228.         <textSize>12</textSize>
  1229.         <textStyle>condense</textStyle>
  1230.         <textHeight>14</textHeight>
  1231.         <name></name>
  1232.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1233.     </part>
  1234.     <part>
  1235.         <id>27</id>
  1236.         <type>field</type>
  1237.         <visible> <false /> </visible>
  1238.         <dontWrap> <false /> </dontWrap>
  1239.         <dontSearch> <false /> </dontSearch>
  1240.         <sharedText> <false /> </sharedText>
  1241.         <fixedLineHeight> <true /> </fixedLineHeight>
  1242.         <autoTab> <false /> </autoTab>
  1243.         <lockText> <true /> </lockText>
  1244.         <rect>
  1245.             <left>6</left>
  1246.             <top>58</top>
  1247.             <right>404</right>
  1248.             <bottom>104</bottom>
  1249.         </rect>
  1250.         <style>transparent</style>
  1251.         <autoSelect> <false /> </autoSelect>
  1252.         <showLines> <false /> </showLines>
  1253.         <wideMargins> <false /> </wideMargins>
  1254.         <multipleLines> <false /> </multipleLines>
  1255.         <reservedFamily> 0 </reservedFamily>
  1256.         <titleWidth>0</titleWidth>
  1257.         <icon>0</icon>
  1258.         <textAlign>right</textAlign>
  1259.         <font>Geneva</font>
  1260.         <textSize>12</textSize>
  1261.         <textStyle>condense</textStyle>
  1262.         <textHeight>14</textHeight>
  1263.         <name></name>
  1264.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1265.     </part>
  1266.     <part>
  1267.         <id>28</id>
  1268.         <type>field</type>
  1269.         <visible> <false /> </visible>
  1270.         <dontWrap> <false /> </dontWrap>
  1271.         <dontSearch> <false /> </dontSearch>
  1272.         <sharedText> <false /> </sharedText>
  1273.         <fixedLineHeight> <true /> </fixedLineHeight>
  1274.         <autoTab> <false /> </autoTab>
  1275.         <lockText> <true /> </lockText>
  1276.         <rect>
  1277.             <left>6</left>
  1278.             <top>111</top>
  1279.             <right>404</right>
  1280.             <bottom>157</bottom>
  1281.         </rect>
  1282.         <style>transparent</style>
  1283.         <autoSelect> <false /> </autoSelect>
  1284.         <showLines> <false /> </showLines>
  1285.         <wideMargins> <false /> </wideMargins>
  1286.         <multipleLines> <false /> </multipleLines>
  1287.         <reservedFamily> 0 </reservedFamily>
  1288.         <titleWidth>0</titleWidth>
  1289.         <icon>0</icon>
  1290.         <textAlign>right</textAlign>
  1291.         <font>Geneva</font>
  1292.         <textSize>12</textSize>
  1293.         <textStyle>condense</textStyle>
  1294.         <textHeight>14</textHeight>
  1295.         <name></name>
  1296.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1297.     </part>
  1298.     <part>
  1299.         <id>29</id>
  1300.         <type>field</type>
  1301.         <visible> <false /> </visible>
  1302.         <dontWrap> <false /> </dontWrap>
  1303.         <dontSearch> <false /> </dontSearch>
  1304.         <sharedText> <false /> </sharedText>
  1305.         <fixedLineHeight> <true /> </fixedLineHeight>
  1306.         <autoTab> <false /> </autoTab>
  1307.         <lockText> <true /> </lockText>
  1308.         <rect>
  1309.             <left>6</left>
  1310.             <top>165</top>
  1311.             <right>404</right>
  1312.             <bottom>211</bottom>
  1313.         </rect>
  1314.         <style>transparent</style>
  1315.         <autoSelect> <false /> </autoSelect>
  1316.         <showLines> <false /> </showLines>
  1317.         <wideMargins> <false /> </wideMargins>
  1318.         <multipleLines> <false /> </multipleLines>
  1319.         <reservedFamily> 0 </reservedFamily>
  1320.         <titleWidth>0</titleWidth>
  1321.         <icon>0</icon>
  1322.         <textAlign>right</textAlign>
  1323.         <font>Geneva</font>
  1324.         <textSize>12</textSize>
  1325.         <textStyle>condense</textStyle>
  1326.         <textHeight>14</textHeight>
  1327.         <name></name>
  1328.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1329.     </part>
  1330.     <part>
  1331.         <id>30</id>
  1332.         <type>field</type>
  1333.         <visible> <false /> </visible>
  1334.         <dontWrap> <false /> </dontWrap>
  1335.         <dontSearch> <false /> </dontSearch>
  1336.         <sharedText> <false /> </sharedText>
  1337.         <fixedLineHeight> <true /> </fixedLineHeight>
  1338.         <autoTab> <false /> </autoTab>
  1339.         <lockText> <true /> </lockText>
  1340.         <rect>
  1341.             <left>6</left>
  1342.             <top>219</top>
  1343.             <right>404</right>
  1344.             <bottom>265</bottom>
  1345.         </rect>
  1346.         <style>transparent</style>
  1347.         <autoSelect> <false /> </autoSelect>
  1348.         <showLines> <false /> </showLines>
  1349.         <wideMargins> <false /> </wideMargins>
  1350.         <multipleLines> <false /> </multipleLines>
  1351.         <reservedFamily> 0 </reservedFamily>
  1352.         <titleWidth>0</titleWidth>
  1353.         <icon>0</icon>
  1354.         <textAlign>right</textAlign>
  1355.         <font>Geneva</font>
  1356.         <textSize>12</textSize>
  1357.         <textStyle>condense</textStyle>
  1358.         <textHeight>14</textHeight>
  1359.         <name></name>
  1360.         <script></script>
  1361.     </part>
  1362.     <part>
  1363.         <id>36</id>
  1364.         <type>button</type>
  1365.         <visible> <true /> </visible>
  1366.         <reserved5> 0 </reserved5>
  1367.         <reserved4> 0 </reserved4>
  1368.         <reserved3> 0 </reserved3>
  1369.         <reserved2> 0 </reserved2>
  1370.         <reserved1> 0 </reserved1>
  1371.         <enabled> <true /> </enabled>
  1372.         <rect>
  1373.             <left>7</left>
  1374.             <top>5</top>
  1375.             <right>406</right>
  1376.             <bottom>50</bottom>
  1377.         </rect>
  1378.         <style>transparent</style>
  1379.         <showName> <false /> </showName>
  1380.         <highlight> <false /> </highlight>
  1381.         <autoHighlight> <true /> </autoHighlight>
  1382.         <sharedHighlight> <true /> </sharedHighlight>
  1383.         <family>0</family>
  1384.         <titleWidth>0</titleWidth>
  1385.         <icon>0</icon>
  1386.         <textAlign>center</textAlign>
  1387.         <font>Chicago</font>
  1388.         <textSize>12</textSize>
  1389.         <textStyle>plain</textStyle>
  1390.         <name></name>
  1391.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1392.     </part>
  1393.     <part>
  1394.         <id>37</id>
  1395.         <type>button</type>
  1396.         <visible> <true /> </visible>
  1397.         <reserved5> 0 </reserved5>
  1398.         <reserved4> 0 </reserved4>
  1399.         <reserved3> 0 </reserved3>
  1400.         <reserved2> 0 </reserved2>
  1401.         <reserved1> 0 </reserved1>
  1402.         <enabled> <true /> </enabled>
  1403.         <rect>
  1404.             <left>7</left>
  1405.             <top>58</top>
  1406.             <right>406</right>
  1407.             <bottom>103</bottom>
  1408.         </rect>
  1409.         <style>transparent</style>
  1410.         <showName> <false /> </showName>
  1411.         <highlight> <false /> </highlight>
  1412.         <autoHighlight> <true /> </autoHighlight>
  1413.         <sharedHighlight> <true /> </sharedHighlight>
  1414.         <family>0</family>
  1415.         <titleWidth>0</titleWidth>
  1416.         <icon>0</icon>
  1417.         <textAlign>center</textAlign>
  1418.         <font>Chicago</font>
  1419.         <textSize>12</textSize>
  1420.         <textStyle>plain</textStyle>
  1421.         <name></name>
  1422.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1423.     </part>
  1424.     <part>
  1425.         <id>38</id>
  1426.         <type>button</type>
  1427.         <visible> <true /> </visible>
  1428.         <reserved5> 0 </reserved5>
  1429.         <reserved4> 0 </reserved4>
  1430.         <reserved3> 0 </reserved3>
  1431.         <reserved2> 0 </reserved2>
  1432.         <reserved1> 0 </reserved1>
  1433.         <enabled> <true /> </enabled>
  1434.         <rect>
  1435.             <left>7</left>
  1436.             <top>111</top>
  1437.             <right>406</right>
  1438.             <bottom>156</bottom>
  1439.         </rect>
  1440.         <style>transparent</style>
  1441.         <showName> <false /> </showName>
  1442.         <highlight> <false /> </highlight>
  1443.         <autoHighlight> <true /> </autoHighlight>
  1444.         <sharedHighlight> <true /> </sharedHighlight>
  1445.         <family>0</family>
  1446.         <titleWidth>0</titleWidth>
  1447.         <icon>0</icon>
  1448.         <textAlign>center</textAlign>
  1449.         <font>Chicago</font>
  1450.         <textSize>12</textSize>
  1451.         <textStyle>plain</textStyle>
  1452.         <name></name>
  1453.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1454.     </part>
  1455.     <part>
  1456.         <id>39</id>
  1457.         <type>button</type>
  1458.         <visible> <true /> </visible>
  1459.         <reserved5> 0 </reserved5>
  1460.         <reserved4> 0 </reserved4>
  1461.         <reserved3> 0 </reserved3>
  1462.         <reserved2> 0 </reserved2>
  1463.         <reserved1> 0 </reserved1>
  1464.         <enabled> <true /> </enabled>
  1465.         <rect>
  1466.             <left>7</left>
  1467.             <top>165</top>
  1468.             <right>406</right>
  1469.             <bottom>210</bottom>
  1470.         </rect>
  1471.         <style>transparent</style>
  1472.         <showName> <false /> </showName>
  1473.         <highlight> <false /> </highlight>
  1474.         <autoHighlight> <true /> </autoHighlight>
  1475.         <sharedHighlight> <true /> </sharedHighlight>
  1476.         <family>0</family>
  1477.         <titleWidth>0</titleWidth>
  1478.         <icon>0</icon>
  1479.         <textAlign>center</textAlign>
  1480.         <font>Chicago</font>
  1481.         <textSize>12</textSize>
  1482.         <textStyle>plain</textStyle>
  1483.         <name></name>
  1484.         <script>on mouseUpdisPlaySubject -- ‚àÜend mouseUp</script>
  1485.     </part>
  1486.     <part>
  1487.         <id>40</id>
  1488.         <type>button</type>
  1489.         <visible> <true /> </visible>
  1490.         <reserved5> 0 </reserved5>
  1491.         <reserved4> 0 </reserved4>
  1492.         <reserved3> 0 </reserved3>
  1493.         <reserved2> 0 </reserved2>
  1494.         <reserved1> 0 </reserved1>
  1495.         <enabled> <true /> </enabled>
  1496.         <rect>
  1497.             <left>7</left>
  1498.             <top>219</top>
  1499.             <right>406</right>
  1500.             <bottom>264</bottom>
  1501.         </rect>
  1502.         <style>transparent</style>
  1503.         <showName> <false /> </showName>
  1504.         <highlight> <false /> </highlight>
  1505.         <autoHighlight> <true /> </autoHighlight>
  1506.         <sharedHighlight> <true /> </sharedHighlight>
  1507.         <family>0</family>
  1508.         <titleWidth>0</titleWidth>
  1509.         <icon>0</icon>
  1510.         <textAlign>center</textAlign>
  1511.         <font>Chicago</font>
  1512.         <textSize>12</textSize>
  1513.         <textStyle>plain</textStyle>
  1514.         <name></name>
  1515.         <script>on mouseUpset cursor to 4get short name of this stackif last char of it is an integer then add 1 to last char of itgo stack it in a new windowend mouseUp</script>
  1516.     </part>
  1517.     <part>
  1518.         <id>41</id>
  1519.         <type>button</type>
  1520.         <visible> <true /> </visible>
  1521.         <reserved5> 0 </reserved5>
  1522.         <reserved4> 0 </reserved4>
  1523.         <reserved3> 0 </reserved3>
  1524.         <reserved2> 0 </reserved2>
  1525.         <reserved1> 0 </reserved1>
  1526.         <enabled> <true /> </enabled>
  1527.         <rect>
  1528.             <left>364</left>
  1529.             <top>265</top>
  1530.             <right>416</right>
  1531.             <bottom>304</bottom>
  1532.         </rect>
  1533.         <style>transparent</style>
  1534.         <showName> <false /> </showName>
  1535.         <highlight> <false /> </highlight>
  1536.         <autoHighlight> <false /> </autoHighlight>
  1537.         <sharedHighlight> <true /> </sharedHighlight>
  1538.         <family>0</family>
  1539.         <titleWidth>0</titleWidth>
  1540.         <icon>0</icon>
  1541.         <textAlign>center</textAlign>
  1542.         <font>Chicago</font>
  1543.         <textSize>12</textSize>
  1544.         <textStyle>plain</textStyle>
  1545.         <name></name>
  1546.         <script></script>
  1547.     </part>
  1548.     <content>
  1549.         <layer>card</layer>
  1550.         <id>20</id>
  1551.         <text><span class="style1">La </span><span class="style2">r√©cursivit√©</span><span class="style1">.</span></text>
  1552.     </content>
  1553.     <content>
  1554.         <layer>card</layer>
  1555.         <id>27</id>
  1556.         <text><span class="style2"></span><span class="style1">Impl√©menter la </span><span class="style2">correction</span><span class="style1"> compl√®te des textesdans HyperCard avec </span><span class="style2">Sans-Faute/Grammaire</span><span class="style1"> !</span></text>
  1557.     </content>
  1558.     <content>
  1559.         <layer>card</layer>
  1560.         <id>28</id>
  1561.         <text><span class="style6"></span><span class="style1">La commande </span><span class="style2">open</span><span class="style6">,</span><span class="style1"> le message syst√®me </span><span class="style2">errorDialog</span><span class="style6">e</span><span class="style1">t la propri√©t√© </span><span class="style2">lockErrorDialogs</span><span class="style1">.</span></text>
  1562.     </content>
  1563.     <content>
  1564.         <layer>card</layer>
  1565.         <id>29</id>
  1566.         <text><span class="style1">La XFCN </span><span class="style2">Crunch</span><span class="style1"> de Dan Wood.</span></text>
  1567.     </content>
  1568.     <content>
  1569.         <layer>card</layer>
  1570.         <id>30</id>
  1571.         <text><span class="style1">ela d√©pend aussi de </span><span class="style2">vous</span><span class="style1"> :√©crivez moi √† la revue pour me direquels sujets vous int√©ressent particuli√®rement !</span></text>
  1572.     </content>
  1573.     <name></name>
  1574.     <script>on openCardlock screenset the showPict of this cd to truerepeat with i = 1 to 5show cd fld i of cd 1end repeatunlock screen with visual dissolveend openCard------------------------------------------------------------------------on disPlaySubjectlock screengo cd (the number of the target)unlock screen with visual wipe rightend disPlaySubject</script>
  1575. </card>
  1576.  
  1577.  
  1578.